-2

ここにhtmlをロードするための私のjs関数があります

function getLeftCategories() {

    var id = 3;
    $.getJSON("/api/kategori/getKategoriByTedarikci/" + id, function (data) {

        var obj = jQuery.parseJSON(data);

        $.each(obj, function () {
            if (this.UstKategoriId == null) {
                var kTop =
                    '<li>' +
                        '<a>' + this.KategoriAdi + '<span>+</span></a>' +
                        '<ul id="ulAltKategori">' +

                        '</ul>' +
                   '</li>'
                $("#ulKategoriler").append(kTop);
            }
        });

        $.each(obj, function () {
            if (this.UstKategoriId != null) {

                var sTop =
                    '<li>' +
                        '<a>- ' + this.KategoriAdi + '</a>' +
                    '</li>'
                $("#ulAltKategori").append(sTop);
            }
        });
    });
}

これは私のhtml側です

<div class="box">
<div class="box-heading">Kategoriler</div>
<div class="box-content">
    <div class="box-category">
        <ul id="ulKategoriler">

        </ul>
    </div>
</div>

ここに切り替えるスクリプト関数があります

$(function () {
    $('.box-category a > span').each(function () {
        if (!$('+ ul', $(this).parent()).length) {
            $(this).hide();
        }
    });
    $('.box-category a > span').click(function (e) {
        debugger;
        e.preventDefault();
        $('+ ul', $(this).parent()).slideToggle();
        $(this).parent().toggleClass('active');
        $(this).html($(this).parent().hasClass('active') ? "-" : "+");
        return false;
    });
    $('.filter-active span').click();
});

javascript トグル機能から html を追加すると、最初にページに読み込まれるものが不足していますか?

4

2 に答える 2

0

スクリプトを変更するだけです:

$('.box-category a > span').click(function (e) {
  debugger;
  e.preventDefault();
  ...
}

$('.box-category').on('click', 'a > span', function (e) {
  debugger;
  e.preventDefault();
  e.stopPropagation();
  ...
}
于 2013-10-23T08:21:23.697 に答える
0

これが動的に読み込まれる html である場合、これを処理するためにイベント委譲が必要になります。

$(document).on('click', ".box-category a > span", function () {
...
}
于 2013-10-23T08:15:43.213 に答える