我正在使用这段代码来包装一个(动态)创建的div的链接,到目前为止在firefox中运行良好,但在safari / chrome和ie上没有。
我已经知道我应该使用指针事件,但我不知道如何实现这一点,因为我仍然需要“.on”事件,因为动态创建了div。
// Create a link around the ID
$(".psv-hud").on('mousedown', '#psv-marker-job1', function() {
$(this).wrap( "<a href='/psv-marker-job1/'></a>" );
});
我有什么想法可以解决这个问题?
您需要在创建DOM时指定已存在的元素。在参数中,指定要添加mousedown方法的元素。通过简单地分配$('。enemy'),它会将方法附加到已经存在于DOM中的方法。
$('body').on('mousedown', '.enemy', function(event) {
//attack code
}
Jquery on mousedown not working on dynamically generated elements
如果此代码不起作用,则当mousedown事件绑定时,.psv-hub
不存在。
首先,检查更改.psv-hub
- > document
。
$(".psv-hud").on('mousedown', '#psv-marker-job1', function() {
$(this).wrap( "<a href='/psv-marker-job1/'></a>" );
});
给我看一下示例页面。