Javascript .onchange限制

时间:2009-03-22 22:27:03

标签: javascript javascript-events

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

谢谢!我很想知道每个人都要说些什么。

4 个答案:

答案 0 :(得分:4)

onchange属性是一个DOM属性。它不是由Javascript提供的。 W3schools报告只有一些元素支持其使用,每their page about the onchange event

  

由以下HTML标记支持:

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

以下JavaScript支持   对象:

     

fileUpload,select,text,textarea

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

答案 1 :(得分:4)

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

正如Rahul所说,onchange事件适用于fileupload,select,text和textarea。但是,只有当焦点从项目转移到其他内容时才会触发,内容也会发生变化。

答案 2 :(得分: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()。祝你好运。

答案 3 :(得分:0)

window.onresize=function(){
    exampleFunction();
}   

就是我做的。我不太热衷于onchange,如果你用JS改变了元素,你也可以在同一个JS中调用该事件。 (为什么这样做:JS - &gt;元素 - &gt; JS,当你可以去:JS - &gt;元素和JS)