如何将两个元素上的两个事件绑定到jquery中的一个函数?

时间:2016-03-30 02:14:05

标签: jquery

例如,我有一个输入文本和一个按钮

我想要两个事件,button.on click和input.on KeyEnterPress绑定到一个相同的函数

我该怎么做?

$('#search.onClick OR $searchText.onKeyEnterPress')

4 个答案:

答案 0 :(得分:3)

创建一个要调用的函数:

function myfunc(event){
   // some code
}

你可以做到

$('#search').add($searchText).on('click keyup', myfunc);

或者,如果你只想要一个(不是两个)那么做:

$('#search').on('click', myfunc);
$($searchText).on('keyup', myfunc);

注意不清楚最后一个是jQuery对象,但如果是这样的话:

$searchText.on('keyup', myfunc);

答案 1 :(得分:1)

这是你想要的方法吗?

$('.but').on('click keyup',function(){
	if ( event.which == 13 ) {
     console.log('1');
     return;
  }
	console.log('1');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" class="but">

答案 2 :(得分:1)

function doOneThing(){
    console.log('Do one thing.');
}

$("#search_input").on('keypress', function(e) {
    if (e.which === 13) {
         doOneThing();
    }
});

$("#search_button").on('click', function(e) {
     doOneThing();
});

答案 3 :(得分:0)

参考demo

请找到以下代码:

<强> HTML:

words

<强> JS:

<div>
  <input type="text" id="searchText" placeholder="Type soemthing" />
  <br>
  <br>
  <button id="search">
    Click Me
  </button>
</div>