Javascript 这个<;李>;没有被调用吗?
我的菜单如下:Javascript 这个<;李>;没有被调用吗?,javascript,jquery,menu,event-handling,Javascript,Jquery,Menu,Event Handling,我的菜单如下: <button id="button" onclick="DropDown(event)">Drop down the menu</button> <div id="menu"> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> </ul
<button id="button" onclick="DropDown(event)">Drop down the menu</button>
<div id="menu">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
大多数代码都按预期工作:单击按钮将下拉菜单,单击任意位置将使菜单消失但是,分配给
项的事件处理程序根本不会被调用,尽管正在调用文档的onclick
处理程序
jsIDLE:尝试将事件附加到$(document).ready()
块中或通过使用活动处理程序。这将确保在元素存在时附加事件。下面的方法对我有用
// When clicking on the items
$('#menu li').live("click",function () {
alert("Hello!");
$(document).append('<code>Clicked item!</code>');
});
尝试将事件附加到$(document).ready()
块中,或使用live处理程序。这将确保在元素存在时附加事件。下面的方法对我有用
// When clicking on the items
$('#menu li').live("click",function () {
alert("Hello!");
$(document).append('<code>Clicked item!</code>');
});
这里有一个问题:我宁愿选择就绪路线,也不愿选择实时路线(尽管也许您可以使用委派);众所周知,使用live通常是件坏事(有一篇文章讨论了这一点:)。这里有一个等待DOM ready的小把戏:解释一下,原始代码的问题是,在文档中出现#menu li
之前,您正在查询它。感谢您指出这个问题-在阅读您的答案之前,我真的很困惑。这里有一个问题:我宁愿选择就绪路线,也不愿选择实时路线(尽管也许您可以使用委派);众所周知,使用live通常是件坏事(有一篇文章讨论了这一点:)。这里有一个等待DOM ready的小把戏:解释一下,原始代码的问题是,在文档中出现#menu li
之前,您正在查询它。感谢您指出这个问题-在阅读您的答案之前,我真的很困惑。