SELECT onChange event
SELECT onChange event
在用户使用鼠标或按Enter键选择项目之前,我如何跟踪SELECT元素中的更改?
可以收听keyUp事件,该事件允许跟踪用户使用键盘在列表中导航。但是否有更通用的方法,允许跟踪列表的"预先"更改?
为此,我总是使用focus click
侦听器。
$('select').bind('focus click',function(){
//IMACHANGINGMYOPTION!!!!!!!!!!
//var val=$(this).val();
});
以上应在变更事件发生前触发:
$('select').change(function(){
//The option has been changed.
});
说明:每当用户关注select时,我们都会获得所选项目的值,如果触发onchange
事件,我们可以在事件之前对其进行操作。添加click
侦听器以防我们的选择已经集中,并且用户在实际选择选项并触发更改之前点击进行扩展。
这是一个使用示例,可以让我们跟踪以前的值:
http://jsfiddle.net/SUKqS/8/
Javascript支持"onbeforechange"事件,这可能会起到作用,但我不知道它在浏览器中的实现范围有多广?如果这一点得到了足够广泛的支持,请在更改之前存储以前的值。否则,只需将原始值存储在隐藏字段或JS变量中。
将鼠标移动到所选项目上时,不会触发任何事件。
正如您所说,您可以跟踪鼠标的移动。但由于不同的浏览器呈现列表的方式不同,这将是一项艰巨的任务。
但是,您可以自己创建一个选择框,而无需使用本机选择
您必须创建一个类似以下示例的函数:-
function example(){
jQuery('select#service_billing_state').change(function () {
//your code here
});
}
你必须在onchange、onblr、onkey、onfocus中调用这个函数。。。
相关文章:
- issue with FB.Event.subscribe
- Angularjs :$routeChangeStart event
- Onchange没有'不要显示或隐藏Div
- event.prventDefault()持续多久
- Javascript Select OnChange没有'不要第二次工作
- onChange不足以从Dojo组合框触发查询
- 试图将onChange函数作为道具传递给GrandChlidren,结果是TypeError:这是未定义的
- 如何使用javascript和PHP动态触发onChange事件
- react testUtils模拟点击单选按钮而不触发onchange
- onChange 函数更改表中显示的数据
- onchange event 如何将日期值传递给 JavaScript
- JavaScript onchange attr event for img
- SELECT onChange event
- ckeditor onChange event
- f:ajax by onchange event
- JQuery onchange in tabs event
- onChange event with rails3 javascript jQuery
- JQuery: onchange event
- CRM 2011 LookUp QuickFind OnChange event
- Javascript onchange event