![](/img/trans.png)
[英]Why InternetExplorer 11 doesn't fire events in inactive tab?
[英]JavaScript in Vaadin 7 doesn't work on InternetExplorer 11
我在Vaadin 7中有一个Web应用程序,我使用JavaScript,它可以在Google Chrome上运行,但不能在IE 11上运行。这是我使用JavaScript的方式(如果可能的话,我不想在Java上使用它)
com.vaadin.ui.JavaScript.getCurrent().addFunction("left", new JavaScriptFunction(){
private static final long serialVersionUID = 1L;
@Override
public void call(JsonArray arguments) {
zinkonaux.executeJs(""
+ "var box = document.querySelector('.divobjetos');"
+ "var pos = window.getComputedStyle(box,null).getPropertyValue('left');"
+ "pos = parseInt(pos);"
+ "pos = pos + 300;"
+ "box.style.left = pos+'px';"
);
}
});
我的问题是:在IE中,javascript函数无法正常工作,我想单击上一个div,另一个滚动中的一个,如轮播效果,但是在IE中,单击时不起作用,并且在开发窗口中没有错误
我建议将您的Javascript移到单独的文件中。 如果希望在整个应用程序中使用JS方法,则可以在UI类上使用@JavaScript批注。
package com.company
@JavaScript("test.js")
public class MyUI extends UI
{
...
然后,您需要将test.js放入/com/company/test.js文件夹中的resources文件夹中(如果您使用的是maven)。
function left()
{
var box = document.querySelector('.divobjetos');"
var pos = window.getComputedStyle(box,null).getPropertyValue('left');"
pos = parseInt(pos);"
pos = pos + 300;"
box.style.left = pos+'px';
}
我无法解决IE中的JavaScript错误,特别是要更改左容器和右容器之间的内部div的位置,请在每个容器中使用一个在其ClickListener中使用以下方式修改样式的按钮:
样式样式= Page.getCurrent()。getStyles();
styles.add(“。divscroll .divobjects {左:” + positionInfoTags +“ px!important}”);
我的html代码是这样的:
<div class="container">
<div class="left" location="moveLeft"></div>
<div class="right" location="moveRight"></div>
<div class="divscroll">
<div class="divobjects" location="infoTags">
</div>
</div>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.