我有一个<select>
盒子:
<select id="myselect">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
我需要修改它的change
事件,所以val_after_change
无论事件是如何触发的,它都会有一个属性。
// THIS FUNCTION CANNOT BE MODIFIED
$('#myselect').change(function(e){
// this should alert select value after change
alert(e.val);
});
我知道,在这里我可以alert $(this).val()
,但我的真实示例更复杂且需要e.val
。我知道这适用于select2,但我无法理解他们的源代码。
如何修改事件?我需要做一个包装器还是什么?任何帮助都将不胜感激。
编辑:
我正在一个库上制作一个包装器,它selects
使用e.val
属性,所以我不能修改change
事件本身。触发事件时,我需要该属性已经存在。像这样,但将其设为默认行为:
e = jQuery.Event('change', {val: 2});
$('#myselect').trigger(e);