在 select 元素中触发 Change 事件和 keyup 事件

Posted

技术标签:

【中文标题】在 select 元素中触发 Change 事件和 keyup 事件【英文标题】:Trigger Change event and keyup event in select element 【发布时间】:2011-11-11 02:10:51 【问题描述】:

我有一些代码应该在选择元素更改时运行。我用 jquery 这样做:

$("#myselect").change(function() 
    .......
);

但是当用户使用关键字箭头更改选择时,我希望这些代码也能运行。我发现为此目的的事件是 'keyup' 。也会这样:

$("#myselect").keyup(function() 
   .......
);

如何结合这两个事件?

【问题讨论】:

【参考方案1】:

您可以使用.bind() 组合它们:

$("#myselect").bind("change keyup", function(event)
   //Code here
);

See reference here.

【讨论】:

新语法是将“bind”替换为“on”【参考方案2】:

你可以把你要调用的函数单独写出来,然后赋值给你要处理的事件,比如:

var func = function();

$("#myselect").change(func()).keyup(func());

【讨论】:

据我所知,你不能。您将不得不遍历 select 的选项并询问它们中的每一个是否被选中。否则你可以使用另一个 jQuery 过滤器,":selected" 来过滤选择的选项。 这是在您的选择中找到所选选项的方法:alert ($(this).children(":selected").attr("value"));

以上是关于在 select 元素中触发 Change 事件和 keyup 事件的主要内容,如果未能解决你的问题,请参考以下文章

JQuery中select change事件该怎么触发?

jquery 怎么触发select的change事件

python中select点击option触发

layui如何自动触发change事件,可以用jquery的change吗?

jquery change() 函数 语法

VueJS Select2 指令不会触发 @change 事件