1

IE8 および 9 の入力ボックスに (イベントを介して値を設定せずに) 入力する方法を理解しようとしています。Web でいくつかの例を見ましたが、どれも機能しませんでした。(他のライブラリのJQueryに頼りたくない)

これが私がこれまでに持っているものです:

<form>
  <input type="text" id="txtfld" /> 
  <input type="button" onclick="typeKey()" /> 
</form>
<script>

function typeKey(){
    var  txtField = document.getElementById('txtfld');
    var evt= document.createEventObject();
    evt.keyCode=68;
    txtField.fireEvent('onkeypress', evt);
}
</script>

動作せず、エラーも発生しません。

4

1 に答える 1

0

この機能を試してくださいfire(document.getElementById('txtfld'),'keypress',68):

function fire(el,evttype,code) {
   if (document.createEvent) {
     var evt = document.createEvent('HTMLEvents');
     evt.initEvent( evttype, false, false);
     evt.charCode= evt.keyCode = code;
     el.dispatchEvent(evt);
   } else if (document.createEventObject) {
     var evt = document.createEventObject();
     evt.charCode= evt.keyCode = code;
     el.fireEvent('on' + evttype, evt);
   }
}

ここに例

幸運を :)

于 2012-06-18T14:30:16.320 に答える