2011-10-05 73 views
3

下面是HTML:啓用禁用錨,jQuery的

<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[k]).click(function(){//increase the height}); 
$(li[k]).find('a').click(function(e) { 
    e.preventDefault(); 
    }); 

回答

1

如果我理解正確,你想重新啓用其中一個鏈接的默認行爲?

可以是這樣做的:

$(li[k]).find('a').unbind("click"); 

這將從所選元素刪除單擊處理程序,基本上是將其返回到它的默認行爲。

2

我建議類似如下:

$(li[k]).click(function(){//increase the height}); 
$(li[k]).find('a').click(function(e) { 
     if ($(this).parent().index() != 1){ 
      e.preventDefault(); 
     } 
    }); 

,這個工作原理是,當點擊li元素的index()(基於其其兄弟姐妹之間的位置)的方式不等於1( JavaScript數組基於零,1是數組中的第二個元素),e.preventDefault()觸發;否則(如果index()等於1),則允許默認動作。