[英]Perform custom onClick action before web app's default action in a Chrome extension
[英]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.