我是jQuery的新手,想知道如何编辑点击功能。
这是HTML的样子:
<ul class="result">
<li id="a"></li>
<li></li> //will be added through a loop depending on input
</ul>
所以我的问题是,当我点击li
对象时,它会做一些事情。现在我想从该事件中排除li id="a"
。我以为return false;
会处理这个问题,但事实并非如此。
这是jQuery函数的样子:
$('.result li').click(function() {
$('.result li a').click(function (event) {
event.preventDefault();
event.stopPropagation();
});
some further code...
});
我也尝试过:
$('.result li').click(function() {
$('.result li a').click(function () {
return false;
});
some further code...
});
非常感谢。
答案 0 :(得分:6)
$('.result li:not(#a)').click(function() {
答案 1 :(得分:2)
你可以这样做
$('.result li').click(function() {
if($(this).attr('id')!="your id")
some further code...
});
答案 2 :(得分:1)
试试这个:
$('.result li').click(function (e) {
if (e.target === this) {
some further code...
}
});
此处,this
表示当前范围内的元素,此处始终点击li
。
和e.target
表示实际点击的元素,可以是li
或a
。
因此,如果实际点击的元素不是当前范围中的li
,e.target === this
将返回false并且没有任何反应(没有触发点击事件),反之亦然。
答案 3 :(得分:0)
一个简单的if应该工作:
$('.result li').click(function(ev) {
if (this.id == "a") {
return;
}
// Do your stuff
});
答案 4 :(得分:0)
否定伪类(:不是(X))将完成这项工作。您可以更好地了解否定伪类Here
现在请试试这个
$('.result li:not(#a)').click(function() {
// Your code here...
}