相关疑难解决方法(0)

event.preventDefault()与return false

当我想在某个事件被触发后阻止其他事件处理程序执行时,我可以使用两种技术之一.我将在示例中使用jQuery,但这也适用于plain-JS:

1. event.preventDefault()

$('a').click(function (e) {
    // custom handling here
    e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

2. 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

2891
推荐指数
9
解决办法
81万
查看次数

HTML阻止空格键滚动页面

我正在使用代码:

window.onkeydown = function(e) { 
    return !(e.keyCode == 32);
};
Run Code Online (Sandbox Code Playgroud)

这正是我想要的,当按下空格键时停止页面滚动.但是,它还会阻止用户在文本框中键入空格

有没有办法阻止空格键滚动以及在键入时保留空格键功能?

html javascript

25
推荐指数
1
解决办法
2万
查看次数

按空格键向下滚动页面?

我有一个问题,我甚至不确定要搜索什么来修复.当我按空格键时我的整个页面向上移动(向下滚动):我不希望这种情况发生.我的body标签被设计为overflow:hidden,如果它与它有任何关系,那么页面将没有任何滚动条.我通常擅长执行初步的故障排除技术,但在这种情况下,我甚至不知道从哪里开始.我怎么能阻止这种行为?

附加信息:我正在使用jQuery 1.4.2

html css keyboard

17
推荐指数
2
解决办法
2万
查看次数