0

javascript addEventListener または同等のものを使用して、Web ページのボタンのイベントに登録したいと考えています。しかし、Web ページには標準のフォーム ボタンがないようです。以下の HTML スニペットは、ページにボタンとして表示される HTML マークアップです。

マウスダウン(またはマウスクリックまたは同等のもの)を検出したい。このボタンをクリックしたユーザーを検出する方法はありますか?

<a href="javascript:" id="WIN_0_536870914" arid=536870914 artype="Control" ardbn="Dial"    artcolor="null" class="btn btn3d arfid536870914 ardbnDial" style="top:247&#59; left:115&#59; width:46&#59; height:21&#59;z-index:1001&#59;">
<div class="btntextdiv" style="top:0&#59; left:0&#59; width:46&#59; height:21&#59;">
<div class="f1" style="&#59;width:46">Dial</div>
</div>
</a>
4

1 に答える 1

0

唯一のトリッキーな部分は、最初に DOM から要素を取得することです。を知っていれば、idこの特定のボタンを取得するのは簡単です。

var elem = document.getElementById('WIN_0_536870914');

elem.addEventListener('click', function () {
  alert('click!');
});

http://jsfiddle.net/ugsYB/

クラスごとにすべてのボタンをターゲットにしたいかもしれませんが:

var elems = document.getElementsByClassName('btn');

var i;
for(i = 0; i < elems.length; i++) {
  var elem = elems[i];
  elem.addEventListener('click', function () {
    alert('click!');
  });
}

http://jsfiddle.net/ugsYB/1/ (注: getElementByClassNameにはクロス ブラウザーの問題があります)

もちろん、jQuery はこの種のことを簡単にします。

$('.btn').click(function () { alert('click!'); });

http://jsfiddle.net/ugsYB/2/

しかし、それはあなたのニーズにとってはやり過ぎかもしれません。

于 2013-01-05T12:51:46.517 に答える