ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript は、IE/Firefox_javascript スキルと互換性のあるクリック イベント (クリック リンクおよび HTML クリック) をシミュレートします。

JavaScript は、IE/Firefox_javascript スキルと互換性のあるクリック イベント (クリック リンクおよび HTML クリック) をシミュレートします。

WBOY
WBOYオリジナル
2016-05-16 18:37:251927ブラウズ

一般に、1 つの状況でクリックをシミュレートするには、ハイパーリンク イベントのクリックをシミュレートするという 2 つの側面があります
Firefox の互換性のある関数は次のとおりです。
HTMLAnchorElement に onclick イベントを追加します

コードをコピー コードは次のとおりです:

try {
// HTMLAnchorElement にアクセスできるように要素を作成します
document.createElement('a');
HTMLElement.prototype.click = function () {
if (typeof this.onclick == 'function') {
if (this.onclick({ type: 'click '}) && this.href)
window.open(this.href, this.target? this.target : '_self');
}
else if (this.href)
window .open(this.href, this.target? this.target : '_self');
}
catch (e) {
//alert('click HTMLAnchorElement のメソッドを追加できませんでした);
}

以下は特定のアプリケーションです


場合これは通常の HTML の追加です
をクリックして FireFox の HTMLElement に click メソッドを持たせます (Mozilla の HTMLElement に click メソッドを追加します)
コードをコピー コードは次のとおりです。

try {
// HTMLElement にアクセスできるように、span 要素を作成します。
document.createElement('span');プロトタイプ.click = function () {
if (typeof this.onclick == 'function')
this.onclick({type: 'click'})
}; >catch (e) {
//alert('HTMLElement の click メソッドを追加できませんでした');
}


以下はネチズンからのその他の関連記事です。も参照してください。
最近何か作業をしていたときに、Web ページの入力ボックスで Enter を押すユーザーの動作が修正されていないことに気付きました。 。 。
特に Web ページに複数のフォームがある場合
そこで、テストした結果、Firefox と IE で実行できるクリックをシミュレートする JS を見つけました



コードをコピーします コードは次のとおりです: function doClick(linkId, e){
if(e.keyCode != 13){
return;
}
var fireOnThis = document.getElementById(linkId)
if (document.createEvent)
{
var evObj = document.createEvent('MouseEvents')
evObj。 initEvent( 'click', true, false )
fireOnThis.dispatchEvent(evObj)
}
else if (document.createEventObject)
{
fireOnThis.fireEvent('onclick')
}
}


ここで、e はイベント、組み込みオブジェクト、linkId はクリックをシミュレートするオブジェクト ID です
例:
この場合、ユーザーは Enter キーを押してフォームを送信できます~
opera は再度変更できます



コードをコピー コードは次のとおりです:
クリックしてください