Loaded()内容不会继承javascript

时间:2013-11-20 17:20:30

标签: javascript php jquery

即,我有两个文件:

  • 的index.php
  • 一些-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()事件加载“some-content.php”:

 $("#content").load('some-content.php');

长话短说:

当我加载“some-content.php”时,它继承了css / web.css中所有必需的CSS样式,而不必在“some-content.php”中包含另一个链接href

但是JS脚本似乎都没有工作 - 存储在js / web.js中的那些在index.php中存在的脚本

我强行补充:

<script src="js/web.js" type="text/javascript"></script>

再次在“some-content.php”中?

由于

3 个答案:

答案 0 :(得分:3)

您正在将工具提示绑定到页面加载时的元素。添加新内容时,需要将工具提示绑定到新添加的元素。您可以在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...
});

答案 1 :(得分:2)

这通常是因为您使用直接绑定绑定事件,例如......

$('.myClass').click(function () {
    //...
});

这仅适用于此绑定运行时存在的.myClass个元素。

如果您想申请稍后将添加到DOM的元素,请使用更具动态性的on绑定。

$(document).on('click', '.myClass', function () {
    //...
});

您也可以更具体 - 而不是使用document - 但这是出于示例的目的。

答案 2 :(得分:1)

.load()是一个加载动态内容的AJAX方法。

on()用于动态生成的内容

$('selector').on('event',function(){
//something
});

示例:

$( "#data" ).on( "click", function() {
alert( $( this ).text() );
});

详细了解.on()