如何在不同的 html 元素上但在一个 jQuery 函数内触发多个事件

alim1990

我需要在同一个但来自不同 HTML 元素的事件中触发 2 个事件。我的意思是我有搜索文本框和一个搜索按钮。我需要keyup在搜索文本框内单击搜索按钮时显示搜索结果

我在堆栈溢出时找到了这个答案,但它只能由一个元素和多个事件使用:

$('#element').on('keyup keypress blur change', function(e) {
    // e.type is the type of event fired
});

是否有可能或者我应该复制我的脚本但更改每个元素的事件?

我正在使用的是:

$('#searchBtn').on('click',function() 
{ 
    surfData(); 
});

$('#searchTxt').on('keypress',function() 
{ 
    surfData(); 
});
开发人员

您可以使用它,但是surfData当 searchBtn 元素注册按键事件以及单击 searchTxt 元素时(后者是用户选择的一种非常常见的方式),它会产生触发回调(和您的函数)的副作用一个文本框)。我相信@halleron 会遇到同样的问题。

$('#searchBtn, #searchTxt').on('click keypress',function() 
{ 
    surfData(); 
});

为了避免这些副作用,您需要保留您拥有的代码(这已经非常简化了;下面是我能想到的唯一更简单的版本)

$('#searchBtn').click(surfData);
$('#searchTxt').keypress(surfData);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在单击时从highchart事件中的html元素触发jquery函数onchange?

如何使用一个 Jquery 函数处理多个 onchange (HTML) 事件

如何在 HTML 中的一个元素上使用多个样式规则?

如何将两个元素上的两个事件绑定到jQuery中的一个函数?

如何在不同的HTML元素上重用JS函数

jQuery在一个元素上的多个事件

如何在一个元素上创建一个事件切换 HTML 类,同时从其他元素中删除它?

Vue.js:如何在同一元素上触发具有多个事件的一个函数?

如何使用jQuery在另一个HTML字段上显示多个下拉值

如何在一个 HTML 页面上使用不同元素在不同时间调用两个函数?

如何在jQuery的最后一个元素之后添加html标签?

如何使用jQuery在另一个HTML元素周围添加HTML元素

如何在JQuery中的另一个元素中调用一个元素的事件

如何在重叠元素上重新触发jQuery悬停事件?

jQuery:如何在隐藏元素上触发click事件?

jQuery 事件未在加载的 html 上触发

jQuery-如何获取除一个元素外的所有* html *元素

不存在的html元素上的jQuery .click()触发事件

类上的jQuery click事件仅触发第一个元素

如何在点击事件中找到jQuery中的上一个元素?

如何让JQuery等待上一个事件触发

如何在一个选择器jQuery中显示和隐藏多个元素?

如何在同一个元素上制作多个点击事件?

如何在Jquery和html5中使用相同的类管理不同的元素

jQuery追加在html的第一个块上工作正常,但在动态添加的html上不工作

如何在其他两个html元素之间的公共边界上显示一个html元素?

使用jQuery,如何触发和触发由另一个版本的jQuery处理的事件?

多个流星元素触发jQuery事件

如何启动使用Java和Eclipse的HTML网站一个jQuery的事件?