Javascript / jQuery Find&更换

时间:2015-11-30 22:03:20

标签: javascript jquery replace find

我想找到:

<input type="button" class=" btn btn-lg btn-info" value="Continue" onclick="loadFinal();">

并将其替换为:

<input type="button" class=" btn btn-lg btn-info" value="Continue" onclick="loadFinal(); applyCode();">

简而言之,请将applyCode();插入onclick

2 个答案:

答案 0 :(得分:2)

你可以做两件事。方法1将从按钮中删除所有点击事件并添加事件,方法2将添加除现有事件之外的其他事件。

方法1

$('input:button').unbind('click'); // remove all click events associated
$('input:button').on("click",function() // add new click events
{
  loadFinal();
applyCode();
});

方法2

$('input:button').on("click",function() // add additional click events
    {
    applyCode();
    });

更新:

为了将applycode()事件应用或附加到具有loadfinal()的同一元素,您可以使用$._data提取事件并检查是否存在某个事件。

$("input:button").click(function() {
    var events = $._data(document.getElementById('btn1'), "events");
    $.each(events,function(i,o)
    {
        alert(i);// give the event type like 'click'
        alert(o); // give the event object - you can extract the event name from the object and do the compare with the existint event.
    });
});

或者,您可以直接定位点击事件。

var events = $._data(document.getElementById('btn1'), "events").click;
        $.each(events,function(i,o)
        {
            alert(i);// give the index 
            alert(o); // give the event object - you can extract the event name from the object and do the compare with the existint event.
        });
    });

实施:http://jsfiddle.net/qk5qj33u/15/

答案 1 :(得分:0)

我不认为发现&amp;替换是你最好用的。相反,您可以使用Javascript为您附加事件。正如您使用jQuery标记了问题一样,请尝试以下方法:

<input type="button" class=" btn btn-lg btn-info" value="Continue"> 

$(function() {
    $('input[type=button]').click(function() {
        loadFinal();
        applyCode();
    });
});

请注意,上面的选择器纯粹是出于演示目的,您最好在元素上设置id属性或单个特定class,然后选择它。您甚至可以挂钩到表单的submit事件,假设此按钮用于此目的。