Javascript 禁用旧按钮上的功能
在我的项目中,我希望以编程方式添加某些元素Javascript 禁用旧按钮上的功能,javascript,jquery,html,Javascript,Jquery,Html,在我的项目中,我希望以编程方式添加某些元素按钮,因为每次添加新的按钮,对旧的按钮的调用都会加倍 var btnElem='Button'; 函数ActiveFunc(){ $('.doSomething')。在('click',function(){ 警报(“点击”); }); } $('#Add_Btn')。在('click',function(){ $('div').append(btnElem); ActiveFunc(); }) AddBtn 您正在使用.doSomething类向每
按钮
,因为每次添加新的按钮
,对旧的按钮
的调用都会加倍
var btnElem='Button
';
函数ActiveFunc(){
$('.doSomething')。在('click',function(){
警报(“点击”);
});
}
$('#Add_Btn')。在('click',function(){
$('div').append(btnElem);
ActiveFunc();
})
AddBtn
您正在使用.doSomething
类向每个元素添加函数。请尝试以下方法:
$('Add#Btn')。在('click',function(){
btnElem.on('click',function(){
//废话
});
var newButton=$('div').append(btnElem);
})
您正在使用.doSomething
类向每个元素添加函数。请尝试以下方法:
$('Add#Btn')。在('click',function(){
btnElem.on('click',function(){
//废话
});
var newButton=$('div').append(btnElem);
})
这是因为每次添加按钮时都会添加事件侦听器
我建议1个事件侦听器这样做:
var btnElem='按钮
';
$('body')。在('click','doSomething',函数()上{
警报(“点击”);
});
$('Add#Btn')。在('click',function()上{
$('div').append(btnElem);
})
AddBtn
这是因为每次添加按钮时都会添加事件侦听器
我建议1个事件侦听器这样做:
var btnElem='按钮
';
$('body')。在('click','doSomething',函数()上{
警报(“点击”);
});
$('Add#Btn')。在('click',function()上{
$('div').append(btnElem);
})
AddBtn
为什么不在类中添加一个按钮元素呢?无需每次都附加事件。下面是使用ES6语法的解决方案
让btnElem='单击我';
$(文档)。在(“单击”、“.doSomething”、()=>{
警惕(“做某事”);
});
$(文档)。在(“单击”、“#添加BTN”、()=>{
$('div').append(btnElem);
});代码>
AddBtn
为什么不在类中添加一个按钮元素呢?无需每次都附加事件。下面是使用ES6语法的解决方案
让btnElem='单击我';
$(文档)。在(“单击”、“.doSomething”、()=>{
警惕(“做某事”);
});
$(文档)。在(“单击”、“#添加BTN”、()=>{
$('div').append(btnElem);
});代码>
AddBtn
Alice Yu是正确的,但我会采取不同的方法,在按钮上添加onclick
,并使用该按钮调用函数,如下所示:
<button type="button" onclick="addButtonFunction();" id="Add_Btn">AddBtn</button>
AddBtn
对动态添加的按钮执行相同的操作Alice Yu是正确的,但我会采取不同的方法,在按钮上添加onclick
,并使用该按钮调用函数,如下所示:
<button type="button" onclick="addButtonFunction();" id="Add_Btn">AddBtn</button>
AddBtn
并在动态添加的按钮上执行相同操作,事件侦听器将一次性附加到特定元素。这就是为什么你有多个事件
var btnElem='Button
';
函数ActiveFunc(){
$('.doSomething')。在('click',function(){//上,此函数将事件侦听器附加到具有doSomething类的所有元素。
//事件监听器是基于元素附加的,尽管jquery选择器以类名为目标
//所以在第三次激活时,第一个按钮现在有3个侦听器,第二个按钮现在有2个侦听器,第三个按钮
警报(“点击”);
});
}
$('#Add_Btn')。在('click',function(){
$('div').append(btnElem);
ActiveFunc();
})
AddBtn
事件侦听器一次性附加到特定元素。这就是为什么你有多个事件
var btnElem='Button
';
函数ActiveFunc(){
$('.doSomething')。在('click',function(){//上,此函数将事件侦听器附加到具有doSomething类的所有元素。
//事件监听器是基于元素附加的,尽管jquery选择器以类名为目标
//所以在第三次激活时,第一个按钮现在有3个侦听器,第二个按钮现在有2个侦听器,第三个按钮
警报(“点击”);
});
}
$('#Add_Btn')。在('click',function(){
$('div').append(btnElem);
ActiveFunc();
})
AddBtn
$('div').append(btnElem)
将把$('#div')
返回到变量中,因此该逻辑将在该元素上复制bind。@Taplar你完全正确-我写得太快了!谢谢提醒:)希望我已经修好了。btnElem
是一个字符串。无法在字符串上绑定:)$('#div').append(btnElem)
将把$('#div')
返回到变量中,因此该逻辑将在该元素上复制bind。@Taplar你完全正确-我写得太快了!谢谢提醒:)希望我已经修好了。btnElem
是一个字符串。无法绑定字符串:)的可能重复项的可能重复项