javascript - 使用 jQuery .one 的逻辑

标签 javascript optimization jquery

使用 jQuery 的 .one事件处理程序在第一次点击时进行设置,在下一次/后续点击时进行其他设置,是否可以更优雅地编写此代码:

$('#start').one('click', function(){
    alert('one');

    // could also be .on for subsequent clicks
    $(this).one('click', function(){
        alert('two');    
    });

});

Example fiddle

更新:我希望有一个使用 .one 的 jQuery 模式 像这样self-defining function , 但正在阅读the source for .one()它只是 .on() 的扩展

最佳答案

var clickIndex = 0;
$('#start').on('click', function(){
    alert(++clickIndex);
});

您可以在此处放置一个 switch 语句或一个 if block ,以根据用户点击的次数运行不同的代码。如果 .one 监听器取消绑定(bind)对您来说很重要,那么当 clickIndex 指示您已完成绑定(bind)时,只需使用 .off

关于javascript - 使用 jQuery .one 的逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15950691/

相关文章:

python - 以最小误差求解非线性方程组

javascript - Angular 在使用 jq append 方法时是否编译指令?

c++ - 带unsigned int的字节数组的求余算法

python - 返回前的赋值在 python 中有成本吗?

jquery - jqGrid 缓存网格数据

javascript - 从元素 data-* 属性构建对象

php - 从文本字段捕获数据时如何忽略自动完成值?

javascript - 如何用javascript编写html结构?

javascript - 在具有某些参数的 xsl 中调用 javascript 函数

javascript - 根据传递给函数的数字和字符串反转字符串中的字符