2011-08-08 103 views
2

我的手機有YiijQuery問題。問題是jQuery手機只能使用rel="external"鏈接中的js文件,這是在data-role="page"的div內。 Yii在格的端部或在報頭生成活性形式的jsyii和jquery mobile

我試圖把

<script src='lala/js.js' type = "text/javascipt"></script> 

,我可以結合jscss用:

js.js:

$('div').live('pagebeforeshow', function(event, ui){ 
$("head").append("<link>"); 
    css = $("head").children(":last"); 
    css.attr({ 
     rel: "stylesheet", 
     type: "text/css", 
     href: "/site/css/mobile/mobile.css" 
    }); 
    $.getScript("/site/js/fancyForm_qe.js", function(){ 
     //some other stuff 
    ); 
    }); 
    $('.successMessage').hide(); 
}); 

問題是我想用Yii函數來添加css和js。 任何解決方案?

+0

您是否嘗試過Yii函數(http://stackoverflow.com/questions/1998449/include-css-javascript-file-in-yii-framework)?不知道爲什麼你不能做這些工作。 – ldg

+0

所以,那沒有奏效。我使用jQuery手機通過ajax獲得的html,並手動解析它 – Sonne

回答

3

核心問題是jquery mobile不包含任何返回頁面div外部的內容。你可以使用registerScript等方法,然後$ markup = $ this-> render('view,$ params,true,true);然後,您可以在jquery移動頁面中回顯完整的標記(包含腳本)。

PS:在JQuery Mobile中發生了一些變化,無需使用div data-role = page來包裝頁面。 Beta2有這個,但它似乎被竊聽。

+0

Tnx,它使我向正確的方向: '$ markup =''; Yii :: app() - > clientScript-> render($ markup); echo($標記);' – Sonne