javascript - 如何在 if 语句中使用多个元素、多个事件但相同的函数

标签 javascript jquery

假设我有:

if(事件 X 发生在元素 A 上) 执行代码R

if(事件 Y 发生在元素 B 上) 执行代码R

在 jQuery 中,如何使用 1 个 if 语句而不是 2 个 if 语句:

if(事件 X 发生在元素 A 上)OR(事件 Y 发生在元素 B 上) 执行代码R

我一直在研究绑定(bind)方法,但未能找到解决方案。这就像谷歌的搜索功能:如果你点击“搜索”按钮,它就会执行搜索。但是,如果您在输入框中输入内容并按“回车”键,它也会执行搜索。同样,两个不同的元素(按钮和输入框),两个不同的事件(鼠标单击和按键),但相同的功能(搜索)?

最佳答案

最终代码中不会有任何 if 语句。您必须将每个事件的事件处理程序绑定(bind)到每个元素,并且事件处理程序当然可以是相同的函数:

function event_handler() {
    // ...
}

$(elementA).on('eventX', event_handler);
$(elementB).on('eventY', event_handler);

我建议阅读 jQuery 教程:http://docs.jquery.com/Tutorials .

要了解有关事件处理的更多信息,请查看以下文章:http://www.quirksmode.org/js/introevents.html

关于javascript - 如何在 if 语句中使用多个元素、多个事件但相同的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14140701/

相关文章:

javascript - 是否可以使用 Javascript 插入或删除数据库记录?

javascript - Sencha Touch - AJAX 不工作

javascript - jquery 元素未定义,但它曾经跳过它

JavaScript 在将图像加载到 img 时出错

javascript - IE 中的 Ajax 异步 - 错误 "The Data Necessary to Complete This Operation is Not Yet Available"

javascript - jQuery 创建回调

javascript - 如何只打印首页

javascript - 带有 JavaScript 的树在 Internet Explorer 7 上无法正常工作

javascript - jQuery .trigger() 不发送额外参数

javascript - JQuery手机滑动切换页面