Chrome: className属性改变不与GWT一起工作
Chrome: className attribute changing not working with GWT
我有一个用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中没有任何特定的设置或插件,一切都是默认的。
这似乎是一个bug在Chrome浏览器,但我没有找到具体的前提条件如何再现它。我谷歌了一下,但没有找到同样的问题和解决方案。
谁能给我一些解决这个问题的方法吗?乌利希期刊指南。这是一个问题与AdBlock Chrome扩展。我禁用了它,问题就消失了。更多详细信息:https://code.google.com/p/chromium/issues/detail?id=377913
尝试创建一个简单的html文档,没有任何JS库而不是GWT应用程序,并执行如下命令:
document.getElementById("MyElement").className = "MyClass";
如果问题仍然存在,打开一个问题到chrome。
你也可以使用开发者控制台在GWT应用程序中尝试相同的操作,看看是否会发生。
如果你能证明一个程序可以被任何人重复,使它只在GWT中发生,在GWT网站上打开一个问题
相关文章:
- 转义符不能与innerHTML一起使用
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- 高亮显示与数组字符串一起使用时文本插件中断
- setTimeout可以与闭包内的函数一起使用吗
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- Highcharts colorsByPoint与系列中的线性渐变一起使用时不起作用
- 如何将js库与typescript一起使用
- GWT (or javascript) library for couchDB
- 将webpack和babel与父项目目录中的文件一起使用
- 将 Drag&Drop 与 jsTree 和 DataTables 一起使用
- Javascript-如何让脚本与Ajax请求的数据一起运行
- 将两个ext.TabPanels滚动到一起
- 将jQuery UI Timepicker Addon与React一起使用
- 什么是curl以及如何将其与nodejs一起使用
- Javascript”;onmousemove”;事件无法与类一起使用
- 在JS或Pure Java中寻找可以与GWT一起使用的ZLIB库
- 如何将 JavaScript 与 gwt Uibinder 一起使用
- 将ZeroClipboard与GWT一起使用
- 将GWT与HTML5 Canvas一起使用是一个好主意吗?
- Chrome: className属性改变不与GWT一起工作