Loaded() content won't inherit javascript
也就是说,我有两个文件:
- 索引文件
- some-content.php文件
在index.php中,我加载我的css和js:
1 2 | <head><link href="css/web.css" rel="stylesheet" type="text/css" /></head> <body><script src="js/web.js" type="text/javascript"></body> |
现在,我要做的是使用"js/web.js"中的load()事件加载"some content.php":
1 | $("#content").load('some-content.php'); |
长话短说:
当我加载"some content.php"时,它从css/web.css继承了所有必要的css样式,而不必在"some content.php"中包含其他链接href。
但似乎没有任何一个JS脚本在工作——存储在JS/web.js中的脚本在index.php中被srcd。
是否强制添加:
1 | <script src="js/web.js" type="text/javascript"> |
再次出现在"some content.php"中?
谢谢
您正在将工具提示绑定到页面加载时的元素。添加新内容时,需要将工具提示绑定到新添加的元素。您可以在Ajax调用的回调函数中这样做,例如:
1 2 3 4 | $("#content").load('some-content.php', function() { $(this).find("[rel='tooltip']").tooltip(); // or put stuff like that in an initialization function and call that instead... }); |
这通常是因为您将事件与直接绑定绑定在一起,例如…
1 2 3 | $('.myClass').click(function () { //... }); |
这只适用于运行绑定时存在的
如果要应用于稍后将添加到DOM的元素,请使用更动态的
1 2 3 | $(document).on('click', '.myClass', function () { //... }); |
您也可以更具体一些,而不是使用
动态生成内容使用
1 2 3 | $('selector').on('event',function(){ //something }); |
例子:
1 2 3 | $("#data" ).on("click", function() { alert( $( this ).text() ); }); |
阅读更多关于.on()的信息