繁体   English   中英

jQuery li click事件触发两次

[英]jQuery li click event fires twice

我使用jQuery为li元素创建了一个click事件。 由于某种原因,这个事件被解雇了两次,有人能发现我的错误吗?

HTML:

<ul class="menu">
    @foreach (var group in Model)
    {
        <li class="group">@group.GroupDesc</li>
    }
</ul>

Java脚本:

$('ul.menu li').click(function (e) {
    var li = this;
    alert(li.innerHTML);
});

CSS:

.group
{
    margin:4px;
    padding-top:60px;
    vertical-align:middle;
    text-align:center;
    display:inline-block;
    width:150px;
    height:100px;
    color:White;
    background-color:#00b5fa;
    font-weight:bold;
    box-shadow: 10px 10px 9px rgba(0, 0, 0, 0.22);
    border:3px solid #059ae4;
}

我认为你的事件会绑定两次,所以在绑定新事件之前尝试解除绑定以前绑定的eventHandler。

$('ul.menu li').unbind("click");

$('ul.menu li').click(function (e) {
    var li = this;
    alert(li.innerHTML);
});
$('ul.menu li').click(function (e) {
    var li = this;
    alert(li.innerHTML);
    return false ;  // e.preventDefault();
});

要么

$("ul.menu li").off().on("click", function(e) {
        var li = this;
        alert(li.innerHTML);       
    });

尝试在警报后添加此内容(li.innerHTML);

e.stopPropagation();
e.preventDefault();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM