0

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

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

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

4

2 回答 2

1

我认为您只需执行以下操作即可避免头痛:

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

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

于 2013-10-07T01:27:39.030 回答
1

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

$("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" ]);
});
于 2013-10-07T01:34:07.083 回答