IEにサポートを追加するために、hook_alpha_preprocess_page
で追加されたインラインJavaScriptを使用しようとしています。
drupal_add_js('
jQuery(document).ready(function () {
if (jQuery.browser.msie && jQuery.browser.version < 10) {
$("li#megamenu-mlid-774 .megamenu-items, li#megamenu-mlid-842 .megamenu-items").columnize({
width: 420,
columns: 3
});
}
});', 'inline');
これはページに読み込まれますが、何も起こりません。これは、セレクターが$で始まるためですか?これを機能させるには何に変更すればよいですか?
はい、それは$で始まるセレクタと関係があります。質問のコードはDrupal 6で機能している可能性があります。jQueryはDrupal 7で変更されています
次のように関数をラップしてみてください:
(function ($) {
// in this function, you can use the $ which refers to the jQuery object
}(jQuery));
詳細はチェックアウト
http://drupal.org/update/modules/6/7#javascript_compatibility
最初に、$をjQueryで置き換える必要があります。次に、widthプロパティとcoulmnプロパティを二重引用符で囲む必要があります。つまり、
drupal_add_js('
jQuery(document).ready(function () {
if (jQuery.browser.msie && jQuery.browser.version < 10) {
jQuery("li#megamenu-mlid-774 .megamenu-items, li#megamenu-mlid-842 .megamenu-items").columnize({
"width": "420",
"columns": "3"
});
}
});', 'inline');