gpt4 book ai didi

javascript - Chrome : className attribute changing not working with GWT

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

我有一个用 GWT 编写的站点。我需要通过单击此元素来更改某些元素的样式。我正在使用这样的代码:

image.addClickHandler(new ClickHandler() {

@Override
public void onClick(ClickEvent event) {
...............
Element element = ((Image) event.getSource()).getElement();
element.setClassName("new_css_class_to_be_applied");
}

'setClassName' GWT 函数使用 className JavaScript 属性来操作类:

   public final native void setClassName(String className) /*-{
this.className = className;
}-*/;

此代码更改了元素的类名(我可以在 DOM 检查器中看到新的类名)但是类中的样式不适用于该元素。

此问题只出现在 Windows 上的 Chrome 浏览器中,在 IE 和 Firefox 上运行良好。

如果我使用 Chrome 本地设置 ( C:\Users\User_name\AppData\Local\Google\Chrome\) 移动文件夹,此问题就会消失并且样式更改开始正常工作。但是,如果我返回以前的 chrome 设置文件夹,此代码将不再起作用。我在 Chrome 中没有任何特定的设置或插件,一切都是默认的。

这似乎是 Chrome 浏览器中的一个错误,但我没有找到如何重现它的具体先决条件。我用谷歌搜索但没有找到相同的问题和解决方案。

有人可以建议我解决这个问题吗?

更新。 AdBlock Chrome 扩展存在问题。我禁用它,问题消失了。更多详细信息:https://code.google.com/p/chromium/issues/detail?id=377913

最佳答案

尝试创建一个没有任何 JS 库的简单 html 文档而不是 GWT 应用程序并执行类似:

 document.getElementById("MyElement").className = "MyClass";

如果问题仍然存在,请向 Chrome 提出问题。

您也可以使用开发人员控制台在您的 GWT 应用程序中尝试相同的操作,看看是否会发生这种情况。

如果您可以演示一个任何人都可以重复的过程以使其仅在 GWT 中实现,请在 GWT 站点中提出一个问题。

关于javascript - Chrome : className attribute changing not working with GWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24303051/

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