0

我想使用 javascript addEventListener 或类似的东西在网页中的按钮上注册事件。但是该网页似乎没有标准的表单按钮。下面的 html 片段是页面上显示为按钮的 html 标记。

我想检测mousedown(或mouseclick或equiv)。有什么方法可以检测到用户点击了这个按钮?

<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 回答