簡體   English   中英

每個循環多次觸發Click事件

[英]Click event in for each loop fires multiple times

我有一個.each循環是這樣的:

$('.form-base-subscriptions input').each(function (index, value) {
    var uniqueId = $(this).attr('id'),
        uniqueId = uniqueId.substring(uniqueId.lastIndexOf('_')),
        $parent = $(this).parent(),
        $content = $parent.html();
        $content = $content.split('~'),
        input = $content[0],
        amount = $content[4],

var $toggle = $parent.find('.form-toggle'),
    $checkbox = $toggle.find('input');

    $toggle.on('click', function () {
        $('.form-base-subscriptions .form-toggle').removeClass('active');
        $('.form-base-subscriptions input').prop('checked', false);
        $toggle.addClass('active');
        $checkbox.prop('checked', true);

            var currentId = $(this).attr("id");

            if (currentId == "toggle_151" || currentId == "toggle_170") {
                amount = '1.50';
            } else {
                console.log('check');
                amount = '0';
            }

            $('#toggle_153 input').attr('data-amount', amount);
            $('#toggle_153 span').html(amount);

        //updateWellnessPrice();
        updateSubscriptionAmount();
    });

我如何一次觸發一次onCLick event 現在,每次點擊會觸發兩次。

循環后初始化事件

var $toggle = '';
  $('.form-base-subscriptions input').each(function (index, value) {
    var uniqueId = $(this).attr('id'),
        uniqueId = uniqueId.substring(uniqueId.lastIndexOf('_')),
        $parent = $(this).parent(),
        $content = $parent.html();
        $content = $content.split('~'),
        input = $content[0],
        amount = $content[4],

   $toggle = $parent.find('.form-toggle'),
    $checkbox = $toggle.find('input');
});

$toggle.on('click', function () {
            $('.form-base-subscriptions .form-toggle').removeClass('active');
            $('.form-base-subscriptions input').prop('checked', false);
            $toggle.addClass('active');
            $checkbox.prop('checked', true);
            updateWellnessPrice();
            updateSubscriptionAmount();
        });

將一個類放入所有相關元素,並為該類添加一個事件偵聽器:

的HTML

<div id="toggle_n" class="myElem"> .. </div>
...

jQuery的

$(document).on('click', '.myElem', function() {
   // Do your stuff here ..
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM