頁面引入 jQuery 並定義自構造函數 var $ = function(id) {...},導致 $ 被覆蓋,jQuery 功能失效。解決:重命名自定義函數。
var $ = function (id) { return document.getElementById(id); }; // 覆蓋 jQuery $
// 後續 jQuery 代碼 $('.class') 報錯:$ is not a function
// 方案 1:重命名
var $id = function (id) { return document.getElementById(id); };
// 方案 2:IIFE 隔離作用域
(function() {
var $ = function(id) { return document.getElementById(id); };
// 內部邏輯
})();
// 方案 3:jQuery 無衝突模式
var jQuery = $.noConflict(true);
// 之後用 jQuery(...) 代替 $(...)
typeof $ 確認當前綁定no-shadow 預防document.getElementById 或 querySelector,避免自造 $window.jQuery = jQuery 保留引用