这是html:
<ul>
<li><a href="http://xyz.com"><img src="./xyz.png"/></a></li>
<li><a href="http://xyz.com"><img src="./xyz.png"/></a></li>
<li><a href="http://xyz.com"><img src="./xyz.png"/></a></li>
<li><a href="http://xyz.com"><img src="./xyz.png"/></a></li>
</ul>
如果我点击第二个li,它应该转到链接但是如果我点击任何其他li则不会。我有这个代码,我想知道一种启用默认操作的方法。
$(li[k]).click(function(){//increase the height});
$(li[k]).find('a').click(function(e) {
e.preventDefault();
});
答案 0 :(得分:2)
我建议如下:
$(li[k]).click(function(){//increase the height});
$(li[k]).find('a').click(function(e) {
if ($(this).parent().index() != 1){
e.preventDefault();
}
});
这种方法的工作方式是,如果单击的index()
元素的li
(基于其在其兄弟姐妹中的位置)不等于1
(JavaScript数组为零 - 基于,1是数组中的第二个元素),e.preventDefault()
激发;否则(如果index()
等于1
),则允许默认操作。
答案 1 :(得分:1)
如果我理解正确,您想重新启用其中一个链接的默认行为吗?
你可以这样做:
$(li[k]).find('a').unbind("click");
这将从所选元素中删除单击处理程序,实质上将其返回到其默认行为。