我发现这有点令人困惑,如果其他人遇到这个并可以启发我......
我有一个click
使用 jQuery 设置的事件侦听器,它注册得很好,但是第二个没有,但是,在第二个中,touchend
事件确实注册了。
$(document).on("click", ".date-button", ...
以及另一个元素上的第二个类似事件侦听器:
$(document).on("click touchend", ".time.true", ...
我必须使用touchend
,因为click
没有注册。我很乐意同时使用这两种方法,click touchend
但如果我在第一个侦听器中这样做,那么行为会运行两次(一次用于单击,一次用于触摸端)!
更新
我发现问题在于我“可能”在document
. 当我委托第二个click
听众阅读类似的东西时,$("#times-popup").on("click", ".time.true", ...
它又起作用了。
我仍然认为这是某个地方的错误,无论是在 jQuery 还是在 iOS 中......更可能是 jQuery,还是我在做一些我不应该做的事情?