2012-02-09 7 views
2

jqueryは、通常はDIVのようにクリック可能ではないものにもclickメソッドをアタッチします。これはいくつかのことがそれに反応するのですばらしいことがあります。 Jqueryを使わずに普通の古いJavascriptを使って、古い普通のDIVを "クリック"する方法はありますか?通常のjavascriptでdivをクリック

私がしようとしているのは、ユーザがJqueryで投稿できる領域をクリックするトリガです。ホットキーでjavascriptを実行できるchrome拡張機能を使用しています。私はjqueryのバージョンを書きました var x = $( 'div [guidedhelpid = "sharebox"]'); x.click();

jqueryライブラリは約1/4の時間しかロードされていないようです。なぜ、私は私がプレーンJSでそれをしようとしていると思った。ハンドラに関しては、googlesのコードがクリックをうまく処理して処理しており、Jqueryバージョンで動作します。だから私は効果的に同じことをしたいだけです。

Jqueryは、最初に考えられるクリック可能なものが見つかるまで、内部的にDOMの上または下に移動しますか?

更新 私は間違った方向に向かっていましたが、実際には(JQUERYで)焦点を合わせるために適切な要素を見つける必要がありました。

+0

Jqueryは最初に思考可能なクリックが見つかるまで、内部的にDOMの上または下に移動しますか? – klumsy

+2

jQueryが時間の4分の1しかロードしていないのはなぜですか? – josh3736

+0

ok私は間違っていた、jqueryがロードされていた。そのちょうど内容はページの1/4で異なっていました。だからこの質問はかなり無関係で、元々私が言ったように、私は意図したものと違うものを求めているように見える。 – klumsy

答えて

4

あなただけの要素に一つの関数をバインドしたい場合は、

var element = document.getElementById("el"); //grab the element 
element.onclick = function() { //asign a function 
//code 
} 

を使用することができますが、複数のイベントを添付する必要がある場合、あなたは(IE以外eveything)addEventListenerを使用する必要がありますし、 attachEvent(IE)

if(element.addEventListener) { 
element.addEventListener("click", function() {}); 
} else { 
element.attachEvent("onclick", function() {}) 
} 
3

click()関数は、jQueryではなくJavaScriptで構築されています。

HTMLElementObject.click() 

Source

+0

あなたがイベントハンドラをつけることについて話しているなら、 '$( 'div')click(...)の' click() 'は、間違いなくjQuery関数です。 – josh3736

+0

いいえ、彼はクリックを「誘発」したいと言います。 – Jivings

+0

コメントは読まれていません(編集済みであるはずです)。 – josh3736

0
var d = document.getElementById("test"); 
d.onclick = function(){alert('hi');}; 
0
var divElement = document.getElementById('section'); 

divElement.addEventListener('click', function() { 
    alert('div clicked'); 
},false); 
2

ここジョンResig氏(jQuの作成者によってan articleですエリー)のことです。それは基本的に彼を書き換える方法についてa contest(彼は勝った)に彼のエントリです。

関連する問題