我有一个 ID 为 Strike
的按钮,但 JQUERY 事件似乎不起作用?此处的此事件以前有效,但前提是加载 DOM 时按钮存在。
dom.el('Strike').onclick = strikeSkill;
现在我的按钮是动态生成的,所以“Strike”按钮是稍后生成的。所以上面之前的代码不再有效,因为 Strike = Null
。
我正在使用 Jquery .on 函数,填充了我的参数,但是现在当我点击 strike 按钮时,没有任何反应。没有攻击。为什么是这样?
function strikeSkill() {
activeCheck();
if (upgradeActive == true){
radialSelector(strike);
}
if (upgradeActive == false){
HitCalc(player.cc, monster.cc);
actor.expCounter(player.cc);
actor.balanceCounter(player.cc, monster.cc);
}
};
$('#Strike').on('click', '#Strike', function() {
strikeSkill();
});
最佳答案
您当前的事件处理程序正在寻找 #Strike
#Strike
元素,这是不正确的(更不用说无效的 HTML ).
您可以通过为主选择器使用静态父元素来解决此问题:
$(document).on('click', '#Strike', function(){
strikeSkill();
});
在示例中,我使用了 document
,但是为了获得最佳性能,它应该是最接近 #Strike
的静态父元素,它在 DOM 加载时可用。
关于javascript - 为什么我的委托(delegate)事件处理程序不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38951364/