我定义了以下代码以隐藏列表的某些元素:
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$(".done").toggle();
});
});
</script>
基本上,任何&lt;按钮&gt;单击的元素将对具有“done”类的任何元素执行toggle()函数。我知道这有效,因为它适用于我的一些按钮。我有一个由几个包含的文件组成的页面(使用PHP include())。通常,javascript可以在这些包含的文件中进出,但出于某种原因,如果我在其中一个文件中放入一个按钮,则它不起作用 - 该功能仅适用于放置在定义脚本的文档上的按钮。总是如此,或者我做错了什么?
答案 0 :(得分:5)
尝试使用jQuery live function:
$("button").live('click', function(){
$(".done").toggle();
});
答案 1 :(得分:2)
尝试更改:
$("button").click(function(){
为:
$("button").live('click', function(){
这将使事件绑定到任何按钮,无论何时添加它们。如果您使用.live
,则在$(document).ready(
块中不需要它,因为.live
将在添加元素时添加事件。