私が作業しているこのスクリプトで IE の動作を理解しているかどうかはわかりません。これは、私が使用しているスクリプトの一部であり、Chrome で正常に動作するようです
$(document).keydown(function (event) {
var keyvalue = event.which || event.keyCode;
var eventtarget = event.srcElement.nodeName || event.target.nodeName;
var readonlycheck = event.srcElement.readOnly || event.target.readOnly;
});
問題は readonlycheck 変数で発生します。IE では、「未定義または null 参照のプロパティ 'readOnly' を取得できません」というエラーが表示されます。
Chrome では、readOnly は、定義されている場合は「true」を返し、定義されていない場合は「false」を返します。IE は nodeName で動作しますが、エラーが発生します。
私が本当に混乱するのは、最後の行を変更して target.readOnly を削除することで機能させることができるということです。したがって、これは両方のブラウザで機能するようです...
var readonlycheck = event.srcElement.readOnly;
読み取り専用でこれが異なる動作をする理由を誰かが説明できますか? また、srcElement は IE のみだと思っていたのに、なぜ Chrome は target.readOnly なしで動作するのでしょうか?
どんな助けでも大歓迎です。私はまだjavascriptとjqueryに慣れていないので、何かが足りないと確信しています。