最近才發現 jQuery event.namespace 可以讓你只移除自己註冊的 event listener 而不移除其他人註冊的。 往常我們多半指定 event type 來註冊: $ ( document ) . bind ( 'mouseup' , myListener ) ; 並指定同一個 event type 來移除: $ ( document ) . unbind ( 'mouseup' ) ; 但有時候你使用別人的 widget 或 library 也許它也註冊了同樣事件的 listener,或是你不確定有沒有,為了避免不小心 unbind 其他人的 listener,我可以在註冊加上 namespace 如: $ ( document ) . bind ( 'mouseup.line' , myListener ) ; .line 就是自訂的命名空間。 然後可以移除該 namespace 的所有 listener: $ ( document ) . unbind ( '.line' ) ; 這時如果 document 上也有別人註冊的 mouseup 就不會被你呼叫的 unbind() 移除。