2
請看下面的非常簡單的代碼摘錄:頁面加載後添加jQueryMobile元素
(...)
<div id="myDiv"></div>
<script>
function appendSomeJQueryMobileStuff() {
$('#myDiv').append($('<select/>'));
}
appendSomeJQueryMobileStuff();
$(document).on('pageinit', function() {
appendSomeJQueryMobileStuff();
});
</script>
(嘗試一下@https://jsfiddle.net/ca544oob/)
爲什麼只用jQuery顯示第一<select>
,但第二個ISN根本沒有格式化?我所看到的兩個函數調用之間唯一的區別就是它發生的時刻。
我該如何解決這個問題?
所以任何插件將永遠不會在任何元素上工作,如果它是在頁面加載後應用?這意味着,對於每個新元素,需要初始化整個頁面上所有元素的插件?這不是完全浪費資源嗎?難道不能簡單地在頭部初始化一個選擇菜單插件嗎? – Blauhirn
對於單個頁面,如果您在一個位置初始化插件,則每次添加新選擇時都不需要初始化該插件。和Append語句一樣,你只是實現'選擇',所以一次初始化是必須的。你可以移動'$(「select」).selectmenu();'在函數調用後的'pageinit'中。 –
好的,我明白了。然而,在一個選擇對象上調用'.selectmenu()'只對我更有意義。謝謝! – Blauhirn