2014-01-17 44 views

回答

0

我需要加載的填充工具是jquery-placeholder對於不支持輸入佔位符的瀏覽器。它不提供開箱即用的AMD支持。

首先,我把它包作爲AMD模塊是這樣的:

define(['jquery'], function ($) { 
    (function(window, document, $) { 
    ... polyfill ... 
    }(this, document, jQuery)); 
}); 

然後在main.js我用Modernizr的有條件require()的填充工具腳本:

require(['jquery', 'modernizr'], function ($, Modernizr) { 
    if (!Modernizr.input.placeholder) { 
    require(['jquery', 'placeholder'], function ($) { 
     $('#input').placeholder(); 
    }); 
    } 
}); 
在你的榜樣
+3

你需要兩倍的jQuery 。如果jQuery佔位符是需要jQuery的唯一原因,那麼在第一步中我只需要Modernizr而不是jQuery。同時使用[RequireJS shim](http://requirejs.org/docs/api.html#config-shim)代替在模塊包裝器中複製供應商源代碼被認爲是更好的做法,因爲您將供應商代碼保持原樣並且可以隨時取代它。 –