如何观看具有指定名称的输入按钮?

时间:2011-01-09 23:44:19

标签: javascript javascript-events

例如,我有很长的按钮列表:<input type=button name=clickbutton onclick='dosomething(this)'>

但是,不是在每个按钮中调用相同的函数,而是添加一个等待点击该按钮的单个侦听事件更合理。但同样,有这个按钮,所以我需要将点击对象传递给一个函数。例如,此函数必须更新与此按钮相邻的textarea字段(nextSibling)。

3 个答案:

答案 0 :(得分:3)

你可以使用jQuery:

$('input[name|="clickbutton"]').click(function() {

    var currentButton = $(this);
    alert(currentButton.attr('id'));

});

这会将click函数附加到名为“clickbutton”的所有输入元素。 currentButton是刚刚单击的输入元素。然后,该函数会提醒currentButton的ID。

更新:我在这里为您创建了一个工作示例:http://jsfiddle.net/Damien_at_SF/cdsWk/1/

希望有所帮助:)

答案 1 :(得分:1)

var buttons = document.getElementsByName('clickbutton');
for (var i = 0; i < buttons.length; i++)
    buttons[i].onclick = function(){
        this.nextSibling.innerHTML = 'clicked!';
    }

答案 2 :(得分:1)

查找事件委托。这可能就是你所需要的。谷歌有很多很好的资源。

<强>更新 抱歉,我可以在答案中付出更多努力,以下是一些结果Google Search...

然后,您将使用开关根据event.name属性确定要采取的操作。关于这种方法很酷的事情是如果你在页面上有很多关于事件的元素,听起来就像你那样,它应该让你的页面感觉更敏感;因为浏览器不必处理每个元素的on事件的额外开销。