[英]How to make an input have more than one event?
我的表單中有一個按鈕和一個選擇。 該按鈕具有onclick
事件,而select具有onchange
事件。 如何使選擇同時具有onclick
和onchange
事件?
這是腳本:
$('#i_btn').on('click', function(){
alert('Event 1');
});
$('#i_sel').on('change', function(){
alert('Event 2');
});
當選擇更改時,它應該執行alert('Event 1'); alert('Event 2');
alert('Event 1'); alert('Event 2');
。 我不想在onchange
重寫onclick
代碼
您可以在#i_sel的更改事件中觸發#i_btn的點擊事件
$('#i_btn').on('click', function(){
alert('Event 1');
});
$('#i_sel').on('change', function(){
alert('Event 2');
$("#i_btn").trigger("click");
});
將事件編寫為單獨的函數:
$('#i_btn').on('click', event1);
$('#i_sel')
.on('change', event1)
.on('change', event2);
function event1(){
alert('Event 1');
}
function event2(){
alert('Event 2');
}
您可以在select的on更改內使用觸發器,以確保在change之前定義了單擊按鈕
$('#btn1').on('click', function(){ alert('Clicked'); }); $('#select1').on('change', function(){ alert('Changed'); $("#btn1").trigger("click"); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <select id="select1"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <option value="audi">Audi</option> </select> <button id="btn1">click</button>
您也可以簡單地將事件處理程序添加到元素中...
$('#i_btn, #i_sel').on('click', function(){
alert('Event 1');
});
$('#i_sel').on('change', function(){
alert('Event 2');
});
除非您確實需要單擊以觸發按鈕...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.