0

当我开始开发越来越复杂的 Javascript 解决方案时,我想知道 javascript 给了我什么样的选项来监控我的环境中的变化。我见过这么多的解决方案,它们不断 ping 他们想要监控的任何元素,但是对于任何类型的资源密集型应用程序(或任何情况,取决于开发人员的标准),它们变得臃肿且过于陈旧而无法成为可行的方法. 这让我想到了我的问题,“javascript 的 onchange 事件有什么限制?”。具体来说,现在我正在尝试监视窗口的大小。有没有办法利用 .onchange 事件来处理这样的事情?你会如何解决这个问题?

谢谢!我很想听听大家怎么说。

4

4 回答 4

4

onchange 属性是一个 DOM 属性。它不是由 Javascript 提供的。W3schools 报告说,根据他们关于 onchange 事件的页面,只有一些元素支持它的使用:

受以下 HTML 标记支持:

<input type="text">, <select>,
<textarea>

受以下 JavaScript 对象支持:

文件上传、选择、文本、文本区域

如果你想监视窗口的大小,你基本上有两个选择: - 使用 onresize 属性 - 设置一个通过轮询检查的间隔。

于 2009-03-22T22:32:33.017 回答
4

可以使用onresize监视窗口的大小。

正如 Rahul 所说,onchange 事件适用于文件上传、选择、文本和文本区域。然而,它只会在焦点从项目转移到其他东西上并且内容发生变化时才会触发。

于 2009-03-22T22:35:32.463 回答
0

试试jQuery吧,它小巧而强大。

jQuery 有两个对你有用的函数:width()height()

示例(基于上面链接的文档中的示例):

function showWidth(ele, w) {
    $("someDiv").text("The width for the " + ele + 
                " is " + w + "px.");
}

$('#someElement').change(function () { 
  showWidth("document", $(document).width()); 
});

当然,这同样适用于 height()。祝你好运。

于 2009-03-22T22:56:51.977 回答
0
window.onresize=function(){
    exampleFunction();
}   

我就是这样做的。我对onchange不是很热衷,如果你用JS改变了元素,你也可以在同一个JS中调用事件。(为什么喜欢:JS -> element -> JS,什么时候可以去:JS -> element and JS)

于 2009-03-23T08:56:08.713 回答