比方說,我們有這個標記:jQuery的忽略事件
<span href="">Text <a href="">Link</a></span>
我們勢必兩個元素的事件。我如何做到這一點,當我點擊錨標籤時,父母上的事件不會被觸發?我試過使用Jquery方法stopPropagation()
,但仍然沒有運氣。有什麼想法嗎?謝謝。
比方說,我們有這個標記:jQuery的忽略事件
<span href="">Text <a href="">Link</a></span>
我們勢必兩個元素的事件。我如何做到這一點,當我點擊錨標籤時,父母上的事件不會被觸發?我試過使用Jquery方法stopPropagation()
,但仍然沒有運氣。有什麼想法嗎?謝謝。
你是如何使用stopPropagation()?像這樣的東西應該工作:
$("a.something").click(function(event){
event.stopPropagation();
window.location.href = '/your/destionation.html';
});
不知道爲什麼stopPropagation()
不適合你。鑑於您的HTML示例,下面的代碼正常運行,因爲span
上的事件未被觸發。
$('span').click(function() {
alert('span');
});
$('a').click(function(e) {
e.stopPropagation();
alert('a');
});
如果您使用live()
綁定你的事件處理程序,那麼你就會有問題。
我有一種感覺stopPropagation()不是e.stopPropagation()正在使用.. – 2010-05-26 02:55:04
我試着用同樣的方式,也許我應該再試一次。順便說一句,有一個「e.preventDefault()」行,我不確定這是否與問題有關,是嗎?謝謝。 – HealthWarning 2010-05-26 02:57:45
@HealthWarning - 你使用'live()來綁定事件嗎? 'e.preventDefault()'禁用元素的默認行爲。例如,如果您不想遵循'a'元素中的'href',則可以使用它來禁用'a'的行爲。 – user113716 2010-05-26 03:02:05