Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript I';我正在尝试根据选择器的更改使用on()附加事件_Javascript_Jquery - Fatal编程技术网

Javascript I';我正在尝试根据选择器的更改使用on()附加事件

Javascript I';我正在尝试根据选择器的更改使用on()附加事件,javascript,jquery,Javascript,Jquery,我有一个按钮,可以在两种不同的状态(比如说锁定和解锁)。当我单击按钮时,我更新按钮上的类以反映二进制相反状态。每个类都使用(字符串,回调)上的具有不同的事件附件函数。由于某些原因,被触发的事件仍然是基于原始类分配的第一个回调 HTML: 用于测试 重复单击同一按钮时的预期控制台输出: Lock! Unlock! Lock! 实际控制台输出: Lock! Lock! Lock! 非常需要任何帮助使用事件委派 $(document).on('click','.lock', function()

我有一个按钮,可以在两种不同的状态(比如说锁定和解锁)。当我单击按钮时,我更新按钮上的类以反映二进制相反状态。每个类都使用(字符串,回调)上的
具有不同的事件附件函数。由于某些原因,被触发的事件仍然是基于原始类分配的第一个回调

HTML:

用于测试

重复单击同一按钮时的预期控制台输出:

Lock!
Unlock!
Lock!
实际控制台输出:

Lock!
Lock!
Lock!
非常需要任何帮助

使用事件委派

$(document).on('click','.lock', function() {


 $(document).on('click','.unlock', function() {

$(document).on('click', '.lock,.unlock', function () {
     $('#output').html($(this).attr('class'));
    $(this).toggleClass('lock unlock').text($(this).attr('class'));

});
或与

$(document).on('click', '.lock,.unlock', function () {
     $('#output').html($(this).attr('class'));
    $(this).toggleClass('lock unlock').text($(this).attr('class'));

});
使用事件委派

$(document).on('click','.lock', function() {


 $(document).on('click','.unlock', function() {

$(document).on('click', '.lock,.unlock', function () {
     $('#output').html($(this).attr('class'));
    $(this).toggleClass('lock unlock').text($(this).attr('class'));

});
或使用功能

$(document).on('click', '.lock,.unlock', function () {
     $('#output').html($(this).attr('class'));
    $(this).toggleClass('lock unlock').text($(this).attr('class'));

});

我会这样做,只附加一个事件:


我会这样做,只附加一个事件:

使用,尝试此更新

使用,尝试此更新


或许,这个问题可以更好地回答您:

$(文档)。关于(事件、选择器、处理程序)

这个问题可能会以更好的方式回答您:

$(文档).on(事件、选择器、处理程序)
将html更改为:

<button class="locker lock" >Lock</button>
<button class="locker unlock"">Unlock</button>

<div id="output">Output</div>

将您的html更改为:

<button class="locker lock" >Lock</button>
<button class="locker unlock"">Unlock</button>

<div id="output">Output</div>