当onclick操作发生时,如何为所有Button应用常用的javascript方法?

时间:2014-12-03 09:52:26

标签: javascript jsf button xhtml richfaces

在我的Web应用程序中 我需要在发生onclick操作时为所有Button应用常用的java脚本方法

例如
对于以下所有按钮,需要应用onclick="commonOnClickJavaScript();"

<h:commandButton id="createCarButton"
    title="Create Car"
    action="#{carController.add}" styleClass="submit_btn" />

<h:commandButton id="editCarButton"
    title="Edit Car"
    action="#{carController.edit}" styleClass="submit_btn" />

<h:commandButton id="createDoorButton"
    title="Create Door"
    action="#{doorController.add}" styleClass="submit_btn" />

<h:commandButton id="editDoorButton"
    title="Edit Door"
    action="#{doorController.edit}" styleClass="submit_btn" />

原生解决方案是 在每个按钮中嵌入onclick="commonOnClickJavaScript();" 例如

<h:commandButton id="createCarButton"
    title="Create Car"
    action="#{carController.add}" styleClass="submit_btn"
    onclick="commonOnClickJavaScript();" >

但在我的申请中 我需要将其应用于数百个按钮
所以这个解决方案不简单,浪费了很多时间

任何想法?

1 个答案:

答案 0 :(得分:0)

这个fiddle之类的东西,有一个选择器检索所有按钮和一个小的JavaScript来将事件监听器应用到你的所有按钮?

希望这就是你要找的东西。

<input id="Button1" type="button" class="myButton" value="Button1">
<input id="Button2" type="button" class="myButton" value="Button2">
<input id="Button3" type="button" class="myButton" value="Button3">


var handleButtonClick = function () {
        alert('Button clicked');
    },
    buttonArray = $('.myButton');

    $.each(buttonArray, function (index, item) {
        item.addEventListener('click', function() {
            handleButtonClick();
        }, false);
    });