0

我正在尝试创建一个完全动态的“jquery mobile”“表格小部件”。

问题是,JQM 正在使用它来创建不同的“表格模式”:

$.mobile.document.delegate( ":jqmData(role='table')", "tablecreate", function(e) {
    // some magic happens here
});

为了防止表的自动增强,我排除了触发属性":jqmData(role='table')",直到我的源代码准备好。然后我添加属性并调用它:

// tbody
target                   
    .empty()
    .append(allRows)
    // this enhances elements inside table rows
    .trigger("create")   
    .closest('table')
    // add triggering attribute
    .jqmData('role', 'table')
    // enhance the table (step 1 of 2)
    .table({
       create: function( event, ui ) {}
    })

这只是让我半途而废,因为现在我的表具有必要的属性":jqmData(role='table')",但我似乎无法触发tablecreate它。

我试过了

    .trigger('tablecreate')
    .table({
       tablecreate: function( event, ui ) {}
    })

但他们什么都不做,所以我假设我的元素没有被委托事件绑定捕获(也可能是错误的)。

问题
在纯 jquery 中,当我在时间 X 动态添加触发属性时,是否可以在委托处理程序中包含一个元素?

感谢您的投入!

4

1 回答 1

0

好的。自己找到的:

问题是:

 .jqmData('role', 'table')

似乎并不总是有效,因为data-role="table"调用它时不会设置。

我尝试了以下方法:

 .attr('data-role', 'table')

并且设置了属性并且表格增强正常工作。

也许也能帮助别人!

于 2013-03-13T17:00:50.727 回答