重复使用onclick事件

时间:2015-03-08 10:03:16

标签: jquery onclick reusability

在现有的应用程序中,我可以选择添加一些jQuery代码,但不能更改现有代码。该应用程序有几个具有唯一ID的按钮。现在根据单击的按钮,我想在标准的onclick函数旁边触发一个额外的事件。

默认按钮代码为:

'<button id="btnReopen" class="exButton" type="button" onclick="SysSet('BCAction', 7); SysSet('IgnoreValidationErrors', 1); SysSet('RQ_Reopen', 1); SysSet('Status', 0); SysSubmit(); fnSaveForm();" onmouseover="this.className='exButtonOver'" onmouseout="this.className='exButton'" onmousedown="this.className='exButtonDown'" accesskey="3" title="ALT 3 - Reopen" style="vertical-align:middle;"><span>Reopen</span></button>'

我想要的是,当点击此按钮时,会启动一个带有特定网址的附加窗口。我试过类似下面的脚本,但是在页面加载和同一窗口中立即触发

<script type="text/javascript">
    jQuery( document).delegate( "#dCalc input[type='button']", "click",
        function(e){
        var idClicked = this.id;
    });

    if(idClicked = "BtnReopen") {
        window.location="WflRequest.aspx?BCAction=0&Type=0&Description=Hello";
    };
</script>

2 个答案:

答案 0 :(得分:0)

.delegate()已经过时了一段时间。您应该使用.on()代替:

    <script type="text/javascript">
jQuery( document).on( "click", "#dCalc input[type='button']",
    function(e){
    var idClicked = this.id;
});
if(idClicked = "BtnReopen") {
window.location="WflRequest.aspx?BCAction=0&Type=0&Description=Hello";
} ;
</script>

答案 1 :(得分:0)

单击按钮时:

<script type="text/javascript">
jQuery('#btnReopen').click( function () {
     window.open('WflRequest.aspx?BCAction=0&Type=0&Description=Hello', '_blank');
});
</script>