gpt4 book ai didi

javascript - 在 JavaScript 中向函数添加行为?

转载 作者:行者123 更新时间:2023-11-29 20:07:25 26 4
gpt4 key购买 nike

假设我正在编写一个网络应用程序,并且我想在函数在多个位置声明后向其添加某些行为,而不覆盖该函数的旧行为。

这里是一些简化的代码(注意window.onmousedown函数

var createMenu = function(){
var menu = document.createElement('ul');
/* add things to the menu */
window.onmousedown = function(e){
menu.style.background = "red";
}
}

var createSidebar = function(){
var sidebar = document.createElement('div');
/* add things to the sidebar */
window.onmousedown = function(e){
sidebar.id = "clicked";
}
}

var createMenu();
var createSidebar();

在这种情况下,window.onmousedown 不会做它本来要做的两件事——它在 createSidebar 中的定义将覆盖它在 createMenu 中的定义。是否有一种标准方法可以实现某种行为,其中 windows.onmousedown 将保留这两种行为?

最佳答案

使用addEventListener()添加您的事件。它允许您为元素上的事件注册多个事件处理程序。忘记您在示例中使用的旧事件模型。

对于 IE8 及更早版本,您必须使用 attachEvent()

Advanced event registration models on Quirksmode

关于javascript - 在 JavaScript 中向函数添加行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11479024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com