2012-03-11 39 views
0

如何觸發點擊並獲得值100? (觸發點擊正在工作,但警報不顯示值100)。jQuery - 我如何使這個觸發器工作,以便我有價值100?

// Manually clicked 
$('.clickhere').live("click", function(){ 
    $(this).parent().parent().parent().parent().parent().parent().parent().find('.triggerclick').trigger('click'); 
}); 


// Trigger click 
$(".triggerclick").live("click", function() { 

    var root = $(this); 
    var id = root.find(".test").text(); // should show 100 
    alert(id); 

    return false; 
}); 

<!-- based on this structure --> 
<div class="triggerclick"> 
    <img class="left"/> 
    <div class="left"> 
    <div> </div> 
    <div> </div> 
    <div> 
     <ul>   
     <li> 
      <a> 
      <span class="clickhere">Main Click is here</span> 
      </a>   
     </li>   
     </ul> 
    </div>  
    <div>  </div> 
    <div>  </div> 
    </div> 


    <code class="test">100</code> 

</div> 
+2

適合我:http://jsfiddle.net/rQZWH/ – kinakuta 2012-03-11 08:34:50

+0

有多奇怪,這裏它的工作原理還是一樣的。 – YumYumYum 2012-03-11 08:37:21

+0

@ edmastermind29:jsfiddle.net正在使用Chrome/Opera/Firefox/Midori。 – YumYumYum 2012-03-11 09:15:41

回答

4

你舉的例子似乎運作得很好,但爲什麼呢?

$('.clickhere').live("click", function(){ 
    $(this).parent().parent().parent().parent().parent().parent().parent().find('.triggerclick').trigger('click'); 
}); 

當你可以這樣做:

$('document').on('click', '.clickhere', function(){ 
    $(this).parents('.triggerclick').trigger('click'); 
}); 

live()已過時,on()是新來的傢伙。

+0

我正在使用最新的jQuery庫。但在我的代碼中,我將.live全部替換爲.on,但不能用作點擊事件修補程序(就像使用.live一樣)。 – YumYumYum 2012-03-11 08:50:57

+0

'Uncaught TypeError:Object [object Object] has'on' (匿名函數)' – YumYumYum 2012-03-11 08:52:02

+0

確保您使用的是jQ 1.7+ – elclanrs 2012-03-11 08:58:38

相關問題