Jquery结合了点击和更改

时间:2016-06-18 22:14:31

标签: javascript jquery

是否可以单击并更改一个代码?

document.getElementsByClassName('a-size-small a-color-secondary')

<span class="a-size-small a-color-secondary">by </span>
<span class="a-size-small a-color-secondary">Adore Plush Company</span>
<span class="a-size-small a-color-secondary">Get it by <span class="a-color-success a-text-bold">Tuesday, Jun 21</span></span>
...
...

我试试这个

$(document).on("click", "button.options_buy",function(event) {

//   same code
}


$(document).on("change", "select.options_buy",function(event) {

//   same code
}

它有效,但我只想'click'options_buy''和'更改'为'select.options_buy'

有可能吗?

3 个答案:

答案 0 :(得分:2)

最好的方法是拥有两个事件处理程序,但只有一个从每个事件调用的公共函数:

$(document).on("click", "button.options_buy",function(event) {
  commonFunction();
})


$(document).on("change", "select.options_buy",function(event) {
    commonFunction();
})

function commonFunction(){
//common function code
}

答案 1 :(得分:0)

您可以使用.on()将函数绑定到多个事件:

  $('#foo').on('keypress click change', function(e) {
        //
    });

OR声明一个函数并为每个事件调用它

$('#foo')
    .change(myFunction)
    .click(myFunction)
    .blur(myFunction)

jQuery .bind()

$( "#foo" ).bind({
  click: function() {
    // Do something on click
  },
  mouseenter: function() {
    // Do something on mouseenter
  }
});

OR

$( "#foo" ).bind( "mouseenter mouseleave", function() {
  $( this ).toggleClass( "entered" );
});

答案 2 :(得分:0)

我想扩展您的代码。

$(document).on("click change", "button.options_buy,select.options_buy",function(event) {        
  if(event.type=="click"){
        someFunction();
  } else if(event.type=="change"){
        someFunction();
  }

}