我可以重载$()函数吗?
我想实现这样的模式$('$ name'),其中字符串以'$'开头,然后我返回我定义的结果。例如:
function getElementByVarName(varName) {
//return something of my own
}
var original$=$;
$=function(param) {
if (typeof param === 'string' && param.startsWith('$')) {
return getElementByVarName(param.substring(1));
} else {
original$(param);
}
}
这样做的最佳方式是什么?
答案 0 :(得分:0)
您可以使用noConflict()
var j = $.noConflict();
(function($) {
$(function() {
//here your new function codes
});
})(jQuery);
原始$
现在是j
函数此处
答案 1 :(得分:0)
你勾勒出来的确应该工作得很好!
编辑:通过执行以下操作,您将希望适应传递给原始函数的各种参数:
original$.apply(original$, arguments)