$("div#foobar").live('click', function() {
});
$(window).hashchange(function() {
});当hashchange事件触发时,我如何停止触发click事件。
点击事件的注意到我正在触发ajax并更改哈希.关于hashchange,我正在做一些事情。因为Click也会更改散列,所以hashevent会触发。因此,我希望无论何时单击event,哈希变换都不应该是火。
发布于 2011-05-17 22:49:22
(function() {
var fire_hashchange = true;
$("div#foobar").live('click', function() {
fire_hashchange = false;
// do stuff
});
$(window).hashchange(function() {
if (!fire_hashchange) {
fire_hashchange = true;
return;
}
// do stuff
});
})();发布于 2011-05-17 22:22:43
停止传播并防止默认行为。
$("div#foobar").live('click', function(event) {
event.stopPropagation();
event.preventDefault()
});发布于 2011-05-17 22:43:41
基本上,你不能做你想做的事。如果您要更改哈希,那么当然会触发hashchange事件。这就是它的意义所在。阻止click事件的传播并不会阻止对hashchange事件的处理。
设计你的系统,这样就不会有问题了。
https://stackoverflow.com/questions/6037793
复制相似问题