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>