我正在尝试编辑一个现存的’select’元素的’onchange’事件.
例如,我有以下代码:
<select id="sel_id" onchange="javascript:foo();" >
每当我尝试更改其’onchange’属性时,我使用以下命令:
$("#sel_id").attr("onchange","foo_2()");
FYI,这个代码应该不错,“onchange”属性保持不变.那么你应该如何编辑它?
AMMENDMENT:
您可以删除属性,然后绑定不同的功能,如:
$("#sel_id").removeAttr("onchange").bind("change",function(){ foo_2(); });
但问题依然存在,是否可以改变“onchange”属性,而不首先删除它?
解决方法
这不是一个确切的答案,但我可能会删除这个事件:
document.getElementById('sel_id').onchange = undefined;
(如How to Clear/Remove JavaScript Event Handler?所示)
然后再去这个:
$('#sel_id').change(function() { foo_2(); });