Javascript 我是否可以向元素添加相同的eventListner两次,但调用不同的函数?

Javascript 我是否可以向元素添加相同的eventListner两次,但调用不同的函数?,javascript,addeventlistener,Javascript,Addeventlistener,是否可以为元素提供相同的事件侦听器,但有两个不同的函数调用 像这样的 document.getElementById(“搜索栏”).addEventListener(“keyup”,populateTable) document.getElementById(“搜索栏”).addEventListener(“keyup”,createButtons) 我曾经尝试过这样做,但根据我的经验,我只有一个事件监听器可以启动 因此,我的程序中有一个搜索栏,当用户键入时,下表将根据用户键入的内容进行排序。此

是否可以为元素提供相同的事件侦听器,但有两个不同的函数调用

像这样的

document.getElementById(“搜索栏”).addEventListener(“keyup”,populateTable)

document.getElementById(“搜索栏”).addEventListener(“keyup”,createButtons)

我曾经尝试过这样做,但根据我的经验,我只有一个事件监听器可以启动

因此,我的程序中有一个搜索栏,当用户键入时,下表将根据用户键入的内容进行排序。此搜索栏和表属于其他人构建的模块,但我正在用于我的项目。在这个模块中,程序向搜索栏添加一个事件监听器“change”,允许它在用户每次键入时搜索表。对于我的程序,我还想将相同的“更改”事件侦听器添加到搜索栏,但我想将其连接到我创建的一个函数,该函数将执行不同的操作。我仍然希望搜索栏在用户键入时更改表,但我也希望它调用我创建的函数

我知道我可以直接进入模块代码,从其他人创建的事件侦听器调用我的函数,但我想看看是否有一种方法可以解决这个问题,而无需编辑模块代码


谢谢

我将创建一个调用这两个函数的
main
函数,并将其连接到事件侦听器。让我解释一下我的意思:

var call_both = function() {
    populateTable();
    createButtons();
}
然后,将其挂接到事件侦听器

document.getElementById("searchBar").addEventListener("keyup", call_both);

它们不是同一个事件侦听器,它们是不同的事件。一个是
change
,另一个是
click
change
事件只在输入元素上触发,但是
searchBar
可能是一个DIV。您当然可以添加多个侦听器,这就是为什么函数以
add
开始,而不是以
set
开始。我想当有人在搜索栏中键入时,您正在寻找
keyup
事件。您的搜索栏可能是一个
输入
字段。很抱歉造成混淆,我已经编辑了这个问题,两个事件侦听器都是相同的,都是“keyup”,但它们调用不同的函数。它们也在不同的文件中。第一个EventListener(我没有创建)可以工作并对表进行排序,但是我创建的侦听器不工作,我可以说,因为如果它工作,控制台中就会有文本。我很喜欢这个想法,我可能会在我的程序中使用它,我希望避免触碰我没有创建的代码,这是其中一个事件侦听器所在的位置。您不应该触碰任何代码。只需确保您的脚本标记按以下顺序排列:1:带有populateTable()和createButtons()的脚本标记,2:带有上面我的代码的脚本标记。您不需要编辑以前的代码。如果此答案解决了您的问题,请单击问题旁边的灰色复选标记将其标记为正确。