如何确保我的点击函数仅使用 Jquery 执行一次

How can I make sure that my click function executes one time only with Jquery?

本文关键字:Jquery 执行 一次 何确保 确保 我的 函数      更新时间:2023-09-26

我有jquery代码,每次我点击按钮时都会运行,但我只希望它做一次点击函数中的事情。否则我的jquery代码将在我的tbody td中重复值。

这是我的jquery代码:

  $(function () {
        $('#next-step').click(function () {
            $('#S').append($('#SubjectTypeName option:selected').text());
            $('#T').append($('#TeamName option:selected').text());
            $('#C').append($('#ConsultantName option:selected').text());
            $('#K').append($('#company option:selected').text());
            $('#KP').append($('#ContactPerson').val());
            $('#P').append($('#date').val());
        });
    });

这是jsfiddle:http://jsfiddle.net/82U2W/

任何帮助,不胜感激。

提前感谢!

我不确定我是否正确理解,请尝试.one是否只想执行一次处理程序

$(function() {
    $('#next-step').one('click', function() {
        $('#S').append($('#1 option:selected').text());
        $('#C').append($('#2').val());
        $('#T').append($('#3').val());
    });
});

演示

或者,也许您希望复制值而不是附加值,然后尝试如下,

$(function() {
    var copiedText = 'Copied Value: ';
    $('#next-step').on('click', function() {
        $('#S').text(copiedText + $('#1 option:selected').text());
        $('#C').text(copiedText +$('#2').val());
        $('#T').text(copiedText +$('#3').val());
    });
});

演示

我会

说最简单的方法是使用jQuery.one:

 $(function () {
        $('#next-step').one('click', function () {
            $('#S').append($('#SubjectTypeName option:selected').text());
            $('#T').append($('#TeamName option:selected').text());
            $('#C').append($('#ConsultantName option:selected').text());
            $('#K').append($('#company option:selected').text());
            $('#KP').append($('#ContactPerson').val());
            $('#P').append($('#date').val());
        });
    });
使用在

单击时控制按钮的变量。

$(function () {
    $('#next-step').click(function () {
        if(cmdCtrl){
           $('#S').append($('#SubjectTypeName option:selected').text());
           $('#T').append($('#TeamName option:selected').text());
           $('#C').append($('#ConsultantName option:selected').text());
           $('#K').append($('#company option:selected').text());
           $('#KP').append($('#ContactPerson').val());
           $('#P').append($('#date').val());
        cmdCtrl=false;
        }
    });
});