jquery mobile trigger create method

落爺英雄遲暮 提交于 2019-12-12 06:32:22

问题


I was wondering how I'd call .trigger("create") method after injecting a table dynamically.

I found this in jquery mobile docs

$("...new markup that contains widgets...")
               .appendTo(".ui-page")
               .trigger( "create" );

But, (due to my limited knowledge) I do not know what I must replace new markup that contains widgets... with - is it the ID of the table I'm using?

Here's what I've tried till now :

JS

$(".ui-responsive").trigger("create"); 

How the HTML is injected

{
   title:'test-jqry', 
   content:'<table data-role="table" id="testjqtable" data-mode="reflow" class="ui-responsive table-stroke jqm-table"><thead><tr><th data-priority="1">Rank</th><th data-priority="persist">Movie Title</th><th data-priority="2">Year</th><th data-priority="3"><abbr title="Rotten Tomato Rating">Rating</abbr></th><th data-priority="4">Reviews</th></tr></thead><tbody><tr><th>1</th><td><a href="http://en.wikipedia.org/wiki/Citizen_Kane" data-rel="external">Citizen Kane</a></td><td>1941</td><td>100%</td><td>74</td></tr><tr><th>2</th><td><a href="http://en.wikipedia.org/wiki/Casablanca_(film)" data-rel="external">Casablanca</a></td><td>1942</td><td>97%</td><td>64</td></tr><tr><th>3</th><td><a href="http://en.wikipedia.org/wiki/The_Godfather" data-rel="external">The Godfather</a></td><td>1972</td><td>97%</td><td>87</td></tr><tr><th>4</th><td><a href="http://en.wikipedia.org/wiki/Gone_with_the_Wind_(film)" data-rel="external">Gone with the Wind</a></td><td>1939</td><td>96%</td><td>87</td></tr><tr><th>5</th><td><a href="http://en.wikipedia.org/wiki/Lawrence_of_Arabia_(film)" data-rel="external">Lawrence of Arabia</a></td><td>1962</td><td>94%</td><td>87</td></tr></tbody></table>'
}

回答1:


Here's a demo : http://jsbin.com/umatel/1/edit

According to jQuery Mobile's docs, you cant call trigger on individual elements. Call it on the parent of the element. In your case that would be div[data-role=page]. So after you inject your HTML into the page, call trigger like this :

 //first is the div with data-role set to page. for more info, see demo
 $("#first").trigger("create");

Hope this clears things up.



来源:https://stackoverflow.com/questions/16997854/jquery-mobile-trigger-create-method

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!