onPropertyChange仅在IE浏览器中工作

时间:2012-12-13 13:39:11

标签: javascript javascript-events

onPropertyChange仅适用于IE。我使用onPropertyChange在一个文本框中输入一些文本,同时在另一个文本框中显示相同的文本。有没有其他方法可以解决这个问题?

HTML:

<input type="text" id="firstName" name="firstName" value="" maxlength="64"size="30" class="controlStyle" onPropertyChange="displayName(this, document.frmSkills.EmpLn, document.frmSkills.EmpDn,displayFormat)">

2 个答案:

答案 0 :(得分:1)

其他浏览器支持任何文本输入事件(oninput)上的事件。

您还需要处理这两个事件以涵盖IE。

textelement.addEventListener('input',function,false))或 textelement.oninput =

这是来自: http://help.dottoro.com/ljhxklln.php

  

从版本9开始,Internet Explorer支持oninput事件,   但是oninput事件在Internet Explorer 9中是错误的

     

如果要检测a的内容,oninput很有用   textarea,输入:文本,输入:密码或输入:搜索元素有   改变了,因为当这些元素上的onchange事件触发时   元素失去焦点,而不是在修改后立即失去焦点。该   从版本9开始,Internet Explorer支持oninput事件。如果您   需要一个在这些元素的内容发生时触发的事件   在版本9之前的Internet Explorer中修改,使用   onpropertychange事件。

     

oninput事件在Internet Explorer 9中是错误的。它不会被触发   通过用户从文本字段中删除字符时   仅在插入字符时才接口。虽然   Internet Explorer 9支持onpropertychange事件,但是   与oninput事件类似,它也有错误,它没有被触发   删除。因为可以通过多种方式删除字符(Backspace   和上下文菜单中的删除键,CTRL + X,剪切和删除命令),   检测所有变化没有好的解决方案。如果是字符   通过上下文菜单的Delete命令删除修改   无法在Internet Explorer 9中的JavaScript中检测到。始终使用   Internet Explorer 9中的addEventListener方法注册   oninput事件的事件监听器。 attachEvent方法没有   为oninput活动工作。不支持oninput事件   在版本5之前的Safari中的textarea元素,使用textInput事件   而是在那些浏览器中。

答案 1 :(得分:1)

我得到了上述问题的解决方案,下面是代码。谢谢大家的回复。

window.onload=function() {
  document.getElementById("textarea_one").onkeyup=function() {     
      document.getElementById("textarea_three").value=this.value+ " "+document.getElementById("textarea_two").value;
  }
  document.getElementById("textarea_two").onkeyup=function() {     
      document.getElementById("textarea_three").value=document.getElementById("textarea_one").value+" "+this.value;
  }
}