(function (global, $) {
$(function() {
function _setEvent() {
$('#one').one('click', function() {
console.log('one!');
});
}
_setEvent();
_setEvent();
});
}(window, jQuery));
<p id='one'>one</p>
<style>
#one {
width: 100px;
background: #ddd;
height: 100px;
}
</style>
ためしたところ、n回イベント貼ったら、n回イベント貼られるようです。
上の例だと、#oneには2回分のone()イベントが貼られていて、2回クリックすると2個コンソール出力され、それ以降はイベント発火しなくなる
という挙動になりました。
なんかてっきりoneでイベント貼れば一度しか発火しないと思ってました。
ロジック上、イベントを貼り直す必要がある場合、一度off()でイベント解除してからon()する必要があるようです。