通过JavaScript或jQuery识别选择选项更改(change, onchange, click)事件
Identify select option change (change, onchange, click) event through JavaScript or jQuery
是否有办法知道select
选项何时通过select
中onchange
以外的事件更改?
例如,通过jQuery。
$('select').val('2');
$('#someButton').click(function() { $('select').val('2');});
意思是如果我通过点击按钮来改变select
值,可能会提示消息。但是,当我通过从select
中选择选项来更改select
值时,我不会收到提示消息。
与其设置一个计时器,每次扫描页面来检查任何select
值的变化(这会严重降低性能),还有其他方法吗?
假设你有一个事件处理程序
$('select').on('change', function() {
alert('change triggered !');
});
事件处理程序不会通过编程更改值来触发,只有用户操作才会触发该处理程序,除非它被特别触发,这意味着我们必须这样做
$('select').val('2').trigger('change');
,这使我们能够检查事件是由用户操作触发的还是由编程触发的,通过执行
$('select').on('change', function(e) {
if ( e.isTrigger ) {
alert('change triggered programatically !');
} else {
alert('change triggered by user !');
}
});
小提琴
相关文章:
- Selenium WebDriver and JavaScript change
- Onchange没有'不要显示或隐藏Div
- Javascript Select OnChange没有'不要第二次工作
- Bootstrap 3 Datepicker v4:dp.show和dp.change事件在Datepicker内联时不
- onChange不足以从Dojo组合框触发查询
- 试图将onChange函数作为道具传递给GrandChlidren,结果是TypeError:这是未定义的
- 如何使用javascript和PHP动态触发onChange事件
- react testUtils模拟点击单选按钮而不触发onchange
- 带有.change()的AJAX不起作用
- onChange 函数更改表中显示的数据
- Javascript onchange()函数不起作用
- 在表单OnChange中交换数字顺序
- onchange值为select的重载页面
- Javascript:如何在onChange事件期间更改日期时间值
- JavaScript onchange事件未在IIS7中激发
- Jquery change onchange in onload
- Change image src onchange og Select
- change和onchange don'I don’我不能在电脑上工作.可能是什么原因造成的
- 定义函数并在select语句中用作onchange,而不是直接使用.change(function)
- 通过JavaScript或jQuery识别选择选项更改(change, onchange, click)事件