jQuery有事件toggle之类的api吗?

如果元素已经绑定了type事件,就不绑定,如果未绑定,就绑定。有这样的api吗?

阅读 4.3k
5 个回答

没有,你要自己写了,而且没有检查事件是否绑定的api。

可以在绑定之前调用off去除绑定:

javascript$( "#once" )
.off( "click", bindOnce )
.on( "click", bindOnce );
// 也可以考虑下使用namespace
$( "#once" )
.off( ".namespace", bindOnce )
.on( "click.namespace", bindOnce );

点到为止,具体没测试和实践。

  • 看评论时思路:

    • 绑定之前现解绑: off(),on()
    • 单次绑定: once()
    • $.data()查看并判断元素绑定了哪些事件,再做相应操纵
  • 看问题时思路:

    • 使用event参数
    • 结合事件委托
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题