我继承了一个使用 js with() 函数的 HTML 表单:
with (document.images.myImage.style) {
left = x + "px";
top = y + "px";
visibility = "visible";
}
此代码根据左侧/顶部设置“移动”图形上的图像。
移动在 Firefox、IE 和 Edge 中是正常的,但在其他浏览器中则不然...我对 js 不够熟悉,无法重新编码,所以它在所有浏览器中都能正常工作。
有人对如何重新编码有建议吗?
最佳答案
with
is a statement ,就像一个 for
循环,而不是一个函数。 with
的作用是允许您引用对象的属性,而无需每次都键入对象名称。
with(myObj) {
x = y;
}
与
相同myObj.x = myObj.y;
但是它在严格模式下是不允许的,也不应该在非严格模式下使用(往往是很多错误的来源)。因此,要翻译任何 with
代码,只需在来自对象的任何值前面加上实际对象的前缀。
document.images.myImage.style.left = x + 'px';
document.images.myImage.style.top = y + 'px';
document.images.myImage.style.visibility = 'visible';
关于javascript with() 函数在 Opera、Chrome 或 Brave 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36560568/