好吧,我猜这是一个性能问题。
我有一个带有两个导航链接(下一个和上一个)的 slider ,当 slider 到达行尾时,我当前正在取消绑定(bind)下一个按钮,然后在它朝另一个方向移动时再次绑定(bind)。我对下一个按钮执行相同的操作,但相反。
下一个按钮的代码看起来像这样
if (at end of slider) {
nextBtn.unbind("click")
} else if (not already bound) {
nextBtn.bind("click",clickHandler)
}
所以... 是这样做更好还是在点击处理程序中有一个条件来检查 $.data(nextBtn,"state","on")
或 $.data(nextBtn,"state","off")
最佳答案
如果您使用的是实际的 <button>
那么你可以设置 disabled
属性为 true
并且不必担心事件处理程序中的任何内容,因为事件永远不会被触发。这还有一个额外的好处,即添加视觉助手来告诉用户相关按钮不再起作用(无论选择的按钮表示如何,您都应该这样做)。
否则,我通常会保持尽可能多地远离 DOM 的心态,这包括绑定(bind)和解除绑定(bind)事件。考虑到这一点,我会绑定(bind)事件一次,并检查事件处理程序中的任何条件。
关于javascript - 绑定(bind)/取消绑定(bind)事件或使用条件(jQuery)更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3871036/