我有一个id为Strike的按钮,但JQUERY事件似乎不起作用?这里的事件以前起作用,但只有在DOM加载时按钮存在的情况下才能工作。
dom.el('Strike').onclick = strikeSkill;现在我的按钮是动态生成的,所以“罢工”按钮将在稍后生成。所以上面的代码不再工作了,因为罢工= 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();
});发布于 2016-08-15 08:05:29
当前的事件处理程序正在#Strike中查找一个#Strike元素,这是不正确的(更别提是无效的了)。
可以通过对主选择器使用静态父元素来修复此问题:
$(document).on('click', '#Strike', function(){
strikeSkill();
});在这个示例中,我使用了document,但是为了获得最好的性能,它应该是与#Strike最近的静态父元素,这在DOM加载时是可用的。
https://stackoverflow.com/questions/38951364
复制相似问题