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