启用禁用锚点,Jquery

时间:2011-10-05 21:28:08

标签: jquery click

这是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();
    });

2 个答案:

答案 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");

这将从所选元素中删除单击处理程序,实质上将其返回到其默认行为。