问题描述
- 动态添加的代码,jsp页引入的js和样式无效
-
在jsp中引入两个文件,js和css,audio.min.js用来解决ie低版本对audio兼容问题,index.css在解决不同浏览器中播放器样式不同问题,但他们对于根据需求动态添加的audio无法生效,这种情况应该怎么解决啊,代码如下
<!doctype html> <%@ page contentType="text/html;charset=UTF-8"%> <html> <head> <script type="text/javascript" src="jquery-1.4.2.min.js"></script> <link href="index.css" rel="stylesheet"> <script src="audio.min.js"></script> <script> audiojs.events.ready(function() { audiojs.createAll(); }); </script> <script type="text/javascript"> function audio() { var a = '<audio id="d" src = "123.mp3" controls>'; $("#f").html(a); } </script> </head> <body> <table border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td><button value="onclick" onclick="audio()">onclick</button> </td> </tr> <tr> <td><div id="f"></div></td> </tr> </table> </body> </html>
解决方案
是不是文件没引进来,你试一试把需要引入的文件src="audio.min.js"改成src="<%=basePath %>/你的文件目录/audio.min.js" ,
也就是把相对目录换成绝对目录,其中<%=basePath %>是工程的根目录,那几个文件也是
解决方案二:
为动态添加的dom绑定事件用jquery的on,具体的可以参考相关文档
解决方案三:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<base href="<%=basePath%>">
加开头
时间: 2024-10-05 02:45:46