jQuery:为什么我的 li 元素上的单击事件不起作用?

标签 jquery jquery-animate html-lists

我想在单击 li 元素时移动 Div 元素“nav”。

我在 div 中有一个列表

<div id="nav">
    <ul>
        <li><a href="#t1">Flyer</a></li>
        <li><a href="#t2">Code</a></li>
        <li><a href="#t3">Angebot</a></li>
        <li><a href="#t4">Bilder</a></li>
    </ul>
</div>  

为什么这在 jquery 中不起作用:

$("#nav ul li").click(function(){
    $("#nav").animate({ 
        marginLeft: "-300px",
    }, 1000 );
});

最佳答案

根据您使用的 Jquery 版本,这可能有效,也可能无效:

$('body').on('click', '#nav ul li', function(){
    $("#nav").animate({ 
        marginLeft: "-300px",
    }, 1000 );
});

我做了 $('body') 因为如果您动态生成这些 li,那么您需要在调用“委托(delegate)事件”时绑定(bind)它们。

关于jQuery:为什么我的 li 元素上的单击事件不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17593377/

相关文章:

jquery - 浏览器上一个按钮和模式窗口

javascript - 使 Jquery 元素过滤器选项卡在单击时处于事件状态

javascript - 为什么 jQuery 的 .change() 需要包装成函数?

javascript - 在 div 单击时切换动态(或 'auto')高度

css animate 在 Internet Explorer 上无法正常工作

javascript - Jquery Animate 不适合我

php - ul li 限制结果并在悬停时显示更多

html - 如何通过 CSS 在有序列表中保持第二行的缩进?

jQuery 更改事件在 IE11 中不起作用

php - Foreach - 将 <li> </li> 包裹起来,里面有两个结果,然后重复。