当我想在某个事件被触发后阻止其他事件处理程序执行时,我可以使用两种技术之一.我将在示例中使用jQuery,但这也适用于plain-JS:
event.preventDefault()$('a').click(function (e) {
// custom handling here
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
return false$('a').click(function () {
// custom handling here
return false;
});
Run Code Online (Sandbox Code Playgroud)
这两种停止事件传播的方法之间有什么显着差异吗?
对我来说,return false;比执行方法更简单,更短并且可能更不容易出错.使用该方法,您必须记住正确的套管,括号等.
另外,我必须在回调中定义第一个参数才能调用该方法.也许,有一些原因可以解释为什么我应该避免这样做并使用preventDefault呢?有什么更好的方法?
javascript jquery event-handling event-propagation dom-events
当我点击列表项目,转到另一个页面时,当前页面会跳转到屏幕顶部,然后转换到下一页面.
这个问题出现在jQM 1.2中,并且在新发布的1.3版本中仍然没有修复.
有人知道如何防止滚动到顶部,并在使用后退按钮时记住滚动位置吗?
这种恼人的行为是不可接受的,并打破了整个应用体验.
我在iPhone 4S上使用它作为webapp,使用iOS 6.1.2.