gpt4 book ai didi

javascript - GWT 和 JQuery 之间的兼容性

转载 作者:行者123 更新时间:2023-12-01 02:32:04 25 4
gpt4 key购买 nike

我创建了一个使用 jquery.tools.min.js 库的简单 JavaScript。

我的 JavaScript 看起来像这样:

function testFunction() {
$("img").click(function() {
alert("Handler for .click() called.");
});

console.log("what's up?");
}

$(testFunction);

因此,当我在简单的 HTML 页面上尝试它时,当我单击图像时,我会收到警报消息。

我在 GWT 应用程序中添加了完全相同的 JavaScript。

当应用程序加载时,我看到 console.log 消息,但当我单击应用程序上的任何图像时,什么也没有发生。

为什么会这样呢?是因为 testFunction() 不适用于动态创建的图像吗?或者是因为该事件被 GWT 覆盖了?

谢谢。

编辑

我在创建内容后尝试调用我的函数:

public native final void recallFunction() /*-{
$wnd.console.log('again1');
$wnd.testFunction();
$wnd.console.log('again2');
}-*/;

我可以看到我的日志消息,但没有触发点击事件。

编辑2:

当我运行时:

$("img").click(function() { 
alert("Handler for .click().");
});

testFunction();

直接在 Firebug 控制台中,该事件已正确附加到我的图像!!

我也尝试在窗口的 onload 事件中调用 testFunction() 但运气不佳。

最佳答案

我假设您包含 jQuery 库本身,并且它是 1.7 或更高版本。

如果在定义 testFunction 时 DOM 中不存在您的图像,请使用“on()”。

function testFunction() {
$("img").on('click',function() {
alert("Handler for .click() called.");
});

console.log("what's up?");
}

关于javascript - GWT 和 JQuery 之间的兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14148834/

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