jQuery mousedown不在chrome / safari中工作

问题描述 投票:0回答:2

我正在使用这段代码来包装一个(动态)创建的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>" );
});

我有什么想法可以解决这个问题?

javascript jquery mousedown
2个回答
0
投票

您需要在创建DOM时指定已存在的元素。在参数中,指定要添加mousedown方法的元素。通过简单地分配$('。enemy'),它会将方法附加到已经存在于DOM中的方法。

$('body').on('mousedown', '.enemy', function(event) {
    //attack code
}

Jquery on mousedown not working on dynamically generated elements


0
投票

如果此代码不起作用,则当mousedown事件绑定时,.psv-hub不存在。

首先,检查更改.psv-hub - > document

$(".psv-hud").on('mousedown', '#psv-marker-job1', function() {
    $(this).wrap( "<a href='/psv-marker-job1/'></a>" );
});

给我看一下示例页面。

© www.soinside.com 2019 - 2024. All rights reserved.