on()接收param之类的函数而不是事件?

时间:2013-10-07 01:22:39

标签: jquery

on()的第一个参数可能是click,mouseenter等事件,但是可以绑定函数吗?

$(document).on('click','#box', function(e){
    $(this).css('padding-bottom', '32px');
});

我不希望点击应用于#box,但我无法将第二个参数设置为其他因为我不想使用$(this)..所以我想知道'click'是否可以是一些功能..

2 个答案:

答案 0 :(得分:1)

我认为只要做这样的事情,你就可以省去头痛:

$('#box').on('click', function() {
     $('document').css('padding-bottom', '32px');
}

是否有特殊原因需要保留$(this)的上下文作为引用文档?

答案 1 :(得分:1)

是的,您可以在其中添加/触发(非浏览器)事件,请参阅示例:

$("p").on("myCustomEvent", function(event, myName){
  $(this).text(myName + ", hi there!");
  $("span")
    .stop()
    .css("opacity", 1)
    .text("myName=" + myName )
    .fadeIn(30)
    .fadeOut(1000);
});

$("button").click(function () {
  $("p").trigger("myCustomEvent", [ "John" ]);
});