簡體   English   中英

在動態加載的按鈕的onclick動作之前執行動作

[英]Perform action before onclick action of dynamically loaded button

我目前有一個div,在某個時間動態加載按鈕:最初看起來像這樣:

<div id="id"></div>

而在某些時候

<div id="id">
    <button type="button" onclick="function1();"></button>
</div>

現在,我想 function1 之前執行onclick動作。 為了將onclick動作綁定到動態加載的按鈕,我通常會按照

$("#id").on('click', 'button', function() {
    function2();
});

但是,我懷疑由於按鈕是動態加載的,因此此單擊處理程序將被按鈕上定義的onclick覆蓋,並且僅function1 如何確保在此動態加載的按鈕上,onclick上也會執行function2 請假設我無法更改動態加載的onclick屬性。

現在,我想在調用function1之前執行onclick動作。

而不是單擊,請使用mousedown事件,因為它將在click事件之前調用(因為click事件在mouseup之后調用)

$("#id").on('mousedown', 'button', function() {
    function2();
});

或也可以嘗試(基於下面評論中的討論)

$("#id").on('mouseup', 'button', function() {
    function2();
});

跟隨gurvinder372的回答 ,我通過掛接mouseup事件(而不是他建議的mousedown)來解決了這個問題。

$("#id").on('mouseup', 'button', function() {
    function2();
});

我認為您需要執行以下操作:

$("#id").on('click', 'button', function() {
return func2();
});

function func2()
{
alert("function2 is alert")
}

這將覆蓋功能1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM