gpt4 book ai didi

javascript - 如何使 jquery 函数与动态变化的元素一起工作

转载 作者:行者123 更新时间:2023-11-28 13:39:53 25 4
gpt4 key购买 nike

首先让我说我见过this post .

其中表示(如 api.jquery.com ),.live().on() 让您分配一个 jquery 事件,该事件甚至适用于 future 的元素。但是我的以下jquery:

    $("#playerImg").on("mouseenter",function () {
console.log("works");});

在开始时有效,但在运行此代码后:

function move(moveTo) {
document.getElementById(player.currentLocation).innerHTML = "";
player.currentLocation = moveTo;
document.getElementById(player.currentLocation).innerHTML += player.displayText;
}

这里是相关变量

var player = {
"displayText" : "<img src = 'http://3.bp.blogspot.com/-kAhN0HX-MBk/T_5bApfhbJI/AAAAAAAAAuI/lUww8xT9yV8/s1600/smileys_001_01.png'" +
id='playerImg' "class='onTop' alt='you' border='0' />",

"currentLocation": 0 //(i use a 5 * 5 table with id's 0-24)
}

上面的代码没有运行。我怎样才能在 jquery 中创建一个事件,它可以在尚不存在的元素上运行?

link here

最佳答案

像应用直接事件一样使用.on(),速度更快,但不适用于动态元素。

您需要像动态元素一样使用 .on() :

$(document).on("mouseenter", '#playerImg',function () {
console.log("works");
});

document 应该是最接近的静态元素,以提高性能。

附注,id 必须是唯一的,请将其更改为 class。上面的代码可能不起作用,因为它使用了 id。如果是这种情况并且您出于任何原因不想更改,请使用此:

$(document).on("mouseenter", 'img#playerImg',function () {
console.log("works");
});

关于javascript - 如何使 jquery 函数与动态变化的元素一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18542602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com