2011-12-16 49 views
0

我有这个标记,Javascript href和span标签停滞不前?

<a href="http://www.example.com">Hiya<span class="delete">Delete</span></a> 

而我的JS,

$('.delete').click(function() { 
    window.location = 'http://www.example.com/example'; 
}); 

我的问题锚标记总是赢presedence在我的javascript window.location我如何克服这个问题?

感谢

+1

为什么把它放在一个``标签内,如果你不想说的功能。为什么不`Hiya删除`? – 2011-12-16 12:46:05

回答

4

您需要从click()事件中返回false,防止默认行为:

$('.delete').click(function(e) { 
    e.stopPropagation(); 
    window.location = 'http://www.example.com/example'; 
    return false; 
}); 
+0

这不起作用,因为它在它自己的span标签中,而不是锚标签! – cgwebprojects 2011-12-16 12:41:36

+0

添加`e.stopPropagation()`来停止冒泡到'`的事件。我已经为你编辑了我的答案。 – BenM 2011-12-16 12:46:17

1

使用return false;

$('.delete').click(function() { 
    window.location = 'http://www.example.com/example'; 
return false; 
}); 
0

您是否有尝试:

$('.delete').click(function(ev) { 
    ev.preventDefault() 
    window.location = 'http://www.example.com/example'; 
}); 

不确定,因为“span”不是一个可点击的标签。