2012-09-05 12 views
-3

我這樣做不起作用:jQuery的生活()結合的部分元素

JQ('body').delegate('a','click',function() {alert('test');}) 

所有的鏈接顯示後點擊警報。 但一個鏈接不顯示。 您如何看待,爲什麼? 什麼能導致這種情況?

+0

這個鏈接是什麼樣的? –

+0

你使用的是什麼版本的jQuery?不工作的鏈接是否附加了任何其他事件處理程序? –

+2

首先請注意,'live'和'delegate'已被棄用,請改用[.on](http://api.jquery.com/on/)(技術上'delegate'剛剛被'.on'取代) 。這就是說你有一些樣本標記? – Jack

回答

1

我必須假設這樣的事情:http://jsfiddle.net/uAgS4/是happenning。

$('body').delegate('a', 'click', function(event) { 
    alert('working'); 
    event.preventDefault(); 
}); 

$('.disabled').click(function() { 
    return false; 
}); 

基本上,您正在其他地方捕獲事件並阻止傳播。 jQuery.Event stopPropagation與返回false實際上是一樣的。

+0

那麼你認爲其他一些函數可以返回false,它可以停止處理? –

+0

恩,廣泛地說是。但這取決於實際的代碼。 – Joe

0

這取決於你究竟在做什麼......當你分配事件時,頁面中的鏈接是否處於第一位。或者它是否稍後添加到您的DOM .. 也張貼您的代碼和標記應該幫助..

+0

我在$ .ready()中分配事件。我認爲,markup doesen't不會幫助你。但如果你真的需要它...... –