2016-09-24 9 views
1

を使用してDOMを上onclick` `添付したいが、ページではJavaScriptを使用してDOMSの量の多くを作り、それぞれが次のようになります。私は私が働いているページを開くたびjavascriptの

<span class="link img">text</span> 

一時的に、aという変数にそのうちの1つを代入するとしましょう。

aonclickイベントを含めて、すべてを配置する別の機能がHTMLコードページに書き込まれる必要があります。そのため、ページ全体を保存して後で読み込むことができます。

ドームをドキュメント本体に挿入する前に取り付けられる瞬間です。 domsを作成した後、この関数はonclickを添付してから、ドキュメント本体にロードします。


何行うことになっていることに、このaを作っている:

<span class="link img" 
onclick="function(){window.open('http://example.com')}"> 
    text 
</span> 

のでaをクリックすると新しいウィンドウが開きます。私はCSSを作成したので、すべての「リンク」クラスはリンクのように見えます。


は、私は上記の変化を達成するために関数にこれらのいずれかが含まれて試してみました:

a.onclick = function(){window.open('http://example.com')}; 

a["onclick"] = function(){window.open('http://example.com')}; 

const openFunc = function(){ 
    window.open('http://example.com') 
}; 
a["onclick"] = openFunc; 

を私は知りませんなぜ、彼らはonclickプロパティを添付しないでくださいa。要素のオブジェクト参照を持っている「」

+0

http://stackoverflow.com/questions/7975708/how-to-add-click-event-to-anchor – yhabib

+0

適切な語彙を学び、DOM対DOM-Nodeとオブジェクトプロパティ対ノードの違いをGoogleに教えてください引数。問題は、あなたが実際に意味するものとは異なるものについて*(おそらく検索)*することです。そして、なぜ適切なリンクをスパンに置き換えたいのですか?私はあなたがしようとしていることのために新しいタブでリンクを開くことができないときにそれが嫌いです。そう多くのこと私はそれをほんの数回処理しなければならない場合、私はページを離れ、私が望むものを得るために別の場所を探します。私の閲覧の経験には大きな不便と混乱があります。 – Thomas

+0

@Thomas私が作業しているページは、ローカルファイルとして実行されています。だから私は本当にアンカータグを使用してリンクを作るのが大好きですが、ブラウザはそれを許可しません。私は実際に新しいウィンドウを開くリンクのように見えないものについてあなたが感じることを理解しているので、私はそれらに適切なCSSを追加しました。 – Dinir

答えて

1

私はあなたが何を言っているか理解していなかったが、あなたは変数にイベントを追加したい場合: それについて読ん

a.addEventListener("click",funcNametocall,false); 

イベントリスナーを使用しますここに http://www.w3schools.com/js/js_htmldom_eventlistener.asp

+0

ドームには多くのイベントリスナーを追加できますか?私は約20 + onclickイベントが必要です。 – Dinir

+0

はいそれは何の問題もあなたのウェブページを遅くさせません – shehryar

+1

古いIEの場合は、代わりにattachEventを使うべきです。 – jcubic

0

トーマスの返事はもう一度アンカータグを振り返ってみると、問題を厄介に解決しました。

  • 実際に変更「スパン」タグ「」タグに:

    は、ここで私はリンク1にDOMSの一つ一つを作ることです機能に入れるものです。

  • a['href'] = 'http://example.com';を使用して、タグまたはドームにリンクを追加してHTMLコードにすることができます。
0

こんにちは、あなたの頭の部分に

<script type="text/javascript"> 
     function openWindows(argument) { 
     window.open('http://example.com') 
     } 
    </script> 

をこれらのコードを入れて、次のコードを使用してspanタグを置き換えます...

<span class="link img" onClick="openWindows();">text</span> 

このコードをチェックしてもうまくいけば、これも役立ちます。