1. ホーム
  2. javascript

[解決済み] Firefoxでevent.srcElementを動作させるにはどうすればよいですか、またその意味は?

2023-07-06 12:16:07

質問

私の会社のウェブサイトに if 文があり、あるウェブページが firefox と互換性のないものになっています。

if(event.srcElement.getAttribute("onclick") == null){ 
...code..
document.mainForm.submit();
}

if文の条件をコメントアウトして、現在forefoxで動作しています。私の質問は、event.srcElement.getAttribute("onclick")とは何か、それは重要ですか、それは将来的に問題を引き起こすでしょうか、また、私はそれがFirefox上で動作するように条件を交換できる類似の何かがありますか?

編集します。

 function gotoRDManagerPT(PTId, bDDetailId) {
        if(!proceed()) return false;
        var target = event.target || event.srcElement; 
        if(event.target.getAttribute("onclick") == null) { 
            document.mainForm.displayRDManagerPT.value = "true";
            document.mainForm.PTId.value = PTId;
            document.mainForm.bDDetailId.value = bDDetailId;
            document.mainForm.submit();
        }
    }

どのように解決するのですか?

srcElement は、元々IEから来た独自プロパティです。標準化されたプロパティは target :

var target = event.target || event.srcElement;

if(target.onclick == null) { // shorter than getAttribute('onclick')
    //...
    document.mainForm.submit();
}

また quirksmode.org - イベントプロパティ で、クロスブラウザの情報を確認できます。


何をしているかという質問について。

event.target / event.srcElement の要素への参照が含まれます。 event が発生した要素への参照が含まれます。 getAttribute('onclick') == null は、クリックイベントハンドラが インライン・イベント・ハンドリング .

それは重要なことなのでしょうか?が分からないので何とも言えません。 ...code.. が何をしているのかわからないからです。