Jquery-我们可以通过.attr更改select标记中的onchange事件吗

Jquery - Can we change onchange event in select tag by .attr?

本文关键字:onchange 事件 可以通过 我们 attr 更改 select Jquery-      更新时间:2023-12-15

HTML

<select id=test onchange="foo(1)"> <option value=1>test 1</option> <option value=2>test 2</option> </select>

我正在尝试使用以下方法更改onchange函数:

$('#test').attr('onchange','foo(2)'); //this is not working

也许您可以尝试只使用jQuery?

$("#test").unbind("change");
$("#test").change(function(){
    foo(2);
});
$('#test').change(function() {
    foo(($this).val());
});

并从选择标签中删除onchange

您应该尝试更改侦听器本身,而不是尝试更改属性:

$('#test').change(function() {
  alert( "Change Event triggered" );
});

如果你想确保在被嘘之前清理干净,你连接的监听器是从那一刻起唯一连接的监听器,请使用

$("#test").unbind();

在设置新侦听器之前。

编辑:如注释中所述,如果要使用jQuery unbind函数,则不应使用内联javascript。

我遇到了同样的问题,你可以试试这个

$('#test').attr('onChange','foo(2)');

使用"onChange"而不是"onChange";