标签: addeventlistener

addEventListener vs onclick

addEventListener和之间有什么区别onclick

var h = document.getElementById("a");
h.onclick = dothing1;
h.addEventListener("click", dothing2);
Run Code Online (Sandbox Code Playgroud)

上面的代码一起存在于一个单独的.js文件中,它们都完美地工作.

javascript onclick addeventlistener

642
推荐指数
10
解决办法
50万
查看次数

如何在JavaScript中触发事件?

我已将事件附加到文本框中addEventListener.它工作正常.当我想以编程方式从另一个函数触发事件时,我的问题出现了.

我该怎么做?

javascript events triggers addeventlistener dom-events

504
推荐指数
10
解决办法
65万
查看次数

如何将参数传递给addEventListener监听器函数?

情况有点像 -

var someVar = some_other_function();
someObj.addEventListener("click", function(){
    some_function(someVar);
}, false);
Run Code Online (Sandbox Code Playgroud)

问题是someVar在侦听器函数内部的值是不可见的addEventListener,它可能被视为一个新变量.

javascript dom addeventlistener

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

如何删除元素中的所有侦听器?

我有一个按钮,我添加了一些eventlistners:

document.getElementById("btn").addEventListener("click", funcA, false);
document.getElementById("btn").addEventListener("click", funcB, false);
document.getElementById("btn").addEventListener("click", funcC, false);
document.getElementById("btn").addEventListener("blur" , funcD, false);
document.getElementById("btn").addEventListener("focus", funcE, false);

<button id="btn">button</button>
Run Code Online (Sandbox Code Playgroud)

我可以删除它们:

document.getElementById("btn").removeEventListener("click",funcA);
Run Code Online (Sandbox Code Playgroud)

如果我想要立即删除所有侦听器,或者我没有函数reference(funcA),该怎么办?有没有办法做到这一点,或者我必须逐个删除它们?

javascript javascript-events addeventlistener

187
推荐指数
3
解决办法
16万
查看次数

Javascript - 如何检测文档是否已加载(IE 7/Firefox 3)

我想在文档加载后调用函数,但文档可能已经或可能尚未完成加载.如果它加载了,那么我可以调用该函数.如果它没有加载,那么我可以附加一个事件监听器.我无法在onload已经触发后添加一个eventlistener,因为它不会被调用.那么如何检查文档是否已加载?我尝试了下面的代码,但它并不完全有用.有任何想法吗?

var body = document.getElementsByTagName('BODY')[0];
// CONDITION DOES NOT WORK
if (body && body.readyState == 'loaded') {
    DoStuffFunction();
} else {
    // CODE BELOW WORKS
    if (window.addEventListener) {  
        window.addEventListener('load', DoStuffFunction, false);
    } else {
        window.attachEvent('onload', DoStuffFunction);
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript events onload addeventlistener

157
推荐指数
5
解决办法
29万
查看次数

将多个事件绑定到侦听器(没有JQuery)?

在使用浏览器事件时,我已经开始将Safari的touchEvents用于移动设备.我发现addEventListeners正在堆积条件.这个项目不能使用JQuery.

标准事件监听器:

/* option 1 */
window.addEventListener('mousemove', this.mouseMoveHandler, false);
window.addEventListener('touchmove', this.mouseMoveHandler, false);

/* option 2, only enables the required event */
var isTouchEnabled = window.Touch || false;
window.addEventListener(isTouchEnabled ? 'touchmove' : 'mousemove', this.mouseMoveHandler, false);
Run Code Online (Sandbox Code Playgroud)

JQuery bind允许多个事件,如下所示:

$(window).bind('mousemove touchmove', function(e) {
    //do something;
});
Run Code Online (Sandbox Code Playgroud)

有没有办法像JQuery示例中那样组合两个事件侦听器?例如:

window.addEventListener('mousemove touchmove', this.mouseMoveHandler, false);
Run Code Online (Sandbox Code Playgroud)

任何建议或提示表示赞赏!

javascript jquery touch addeventlistener

129
推荐指数
5
解决办法
13万
查看次数

JavaScript监听器,"keypress"不检测退格?

我正在使用keypress听众,例如......

addEventListener("keypress", function(event){

}
Run Code Online (Sandbox Code Playgroud)

但是,这似乎没有检测到删除文本的退格...

我可以使用不同的侦听器来检测这个吗?

javascript keypress addeventlistener

128
推荐指数
6
解决办法
13万
查看次数

addEventListener在IE8中不起作用

我动态创建了一个复选框.我曾经addEventListener在点击复选框时调用了一个函数,该复选框适用于Google Chrome和Firefox,但在Internet Explorer 8中不起作用.这是我的代码:

var _checkbox = document.createElement("input");
_checkbox.addEventListener("click", setCheckedValues, false);
Run Code Online (Sandbox Code Playgroud)

setCheckedValues 是我的事件处理程序.

javascript addeventlistener internet-explorer-8

116
推荐指数
3
解决办法
11万
查看次数

Javascript中的MSIE和addEventListener问题?

document.getElementById('container').addEventListener('copy',beforecopy,false );
Run Code Online (Sandbox Code Playgroud)

在Chrome/Safari中,当复制页面上的内容时,上面将运行"beforecopy"功能.MSIE也应该支持这个功能,但出于某种原因我收到了这个错误:

"对象不支持此属性或方法"

现在,我的理解是Internet Explorer不会使用body节点,但我认为通过ID提供节点可以正常工作.有没有人对我做错了什么有任何想法?提前致谢.

**任何能告诉我第三个参数"False"有用的人的奖励积分.

javascript internet-explorer addeventlistener

84
推荐指数
4
解决办法
13万
查看次数

为什么在单击事件侦听器内触发 click() 不会导致无限循环?

有人可以解释一下这段 JavaScript 代码的程序流程:

const $leaveRoom = document.querySelector('#leave-button');
let a = 1;
$leaveRoom.addEventListener('click', () => {
  console.log(a);
  console.log("check");
  a++;
  $leaveRoom.click();
  console.log(a);
  a++;
});
Run Code Online (Sandbox Code Playgroud)
<button id="leave-button">Leave Room</button>
Run Code Online (Sandbox Code Playgroud)

The Output was:
1
check
2
check
3
4
Run Code Online (Sandbox Code Playgroud)

这个问题可能听起来很愚蠢,但我是 JavaScript 的新手。我无法理解这段代码的程序流程。我想知道我是如何在输出中得到 3 & 4 的。

html javascript addeventlistener

82
推荐指数
2
解决办法
4368
查看次数