jQuery toggle()在包含(使用PHP)代码中不起作用。

时间:2011-07-29 15:23:40

标签: php javascript jquery

我定义了以下代码以隐藏列表的某些元素:

<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $(".done").toggle();
  });
});
</script>

基本上,任何&lt;按钮&gt;单击的元素将对具有“done”类的任何元素执行toggle()函数。我知道这有效,因为它适用于我的一些按钮。我有一个由几个包含的文件组成的页面(使用PHP include())。通常,javascript可以在这些包含的文件中进出,但出于某种原因,如果我在其中一个文件中放入一个按钮,则它不起作用 - 该功能仅适用于放置在定义脚本的文档上的按钮。总是如此,或者我做错了什么?

2 个答案:

答案 0 :(得分:5)

尝试使用jQuery live function

$("button").live('click', function(){
    $(".done").toggle();
});

答案 1 :(得分:2)

尝试更改:

$("button").click(function(){

为:

$("button").live('click', function(){

这将使事件绑定到任何按钮,无论何时添加它们。如果您使用.live,则在$(document).ready(块中不需要它,因为.live将在添加元素时添加事件。