一般に、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 を見つけました
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 は再度変更できます
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31