我有一个id为Strike
的按钮,但JQUERY事件似乎不起作用?此事件在此处有效,但仅在加载DOM时按钮存在。
dom.el('Strike').onclick = strikeSkill;
现在我动态生成了按钮,因此稍后会生成“Strike”按钮。因此上面的代码不再有效,因为Strike = Null
。
我正在使用Jquery .on函数,填充了我的参数,但现在当我点击“删除”按钮时,没有任何反应。没有攻击。为什么是这样?
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();
});
答案 0 :(得分:3)
您当前的事件处理程序正在 #Strike
中查找#Strike
元素,这是不正确的(更不用说是无效的HTML)。
您可以通过为主选择器使用静态父元素来解决此问题:
$(document).on('click', '#Strike', function(){
strikeSkill();
});
在我使用document
的示例中,为了获得最佳性能,它应该是#Strike
最近的静态父元素,它在DOM加载时可用。