【问题标题】:Buttons Lose Formatting On Function Call按钮在函数调用时丢失格式
【发布时间】:2013-09-07 03:36:12
【问题描述】:

在我的 jquery 代码中,按钮基于 ajax 调用和 json 数据附加到页面上

function appendButton() {
    $('#list').append('<div class="ui-block-a"><a class="request" data-role="button" data-id=\"'+json[i].num+'\" data-type="1" data-icon="plus" data-iconpos="right">Pro</a></div>');
}

当按钮被点击时,我想起了ajax函数(上面显示的重要部分)

$(document).on('click', '.request', function() {

     var type = $(this).data('type');
     var id = $(this).data('id');

    $.ajax({
        url: 'someurl',
        crossDomain: true,
        type: 'post',
        data: {
            "type" : type,
            "num" : debateID,
            "userID": userID
        },
        success: function (data) {

            appendButton();

        }
    });
});

因此,按钮被“重新加载”为不同的东西,但它失去了格式,只显示按钮文本

我该如何解决这个问题?

【问题讨论】:

    标签: jquery ajax jquery-mobile button format


    【解决方案1】:

    您应该在新附加的元素上触发create 事件,如下所示:

    function appendButton() {
        $('#list').append('<div class="ui-block-a"><a class="request" data-role="button" data-id="'+json[i].num+'" data-type="1" data-icon="plus" data-iconpos="right">Pro</a></div>').trigger('create');
    }
    

    它正在工作:http://jsfiddle.net/BYLbM/(在我的示例中,我使用的是硬编码的 data-id 值和减少的点击事件)

    【讨论】:

      猜你喜欢
      • 2021-03-06
      • 1970-01-01
      • 1970-01-01
      • 2013-01-12
      • 1970-01-01
      • 2015-05-25
      • 1970-01-01
      • 2019-01-26
      • 2013-02-11
      相关资源
      最近更新 更多