我有这样写的jQuery扩展:
$.fn.GetBootstrapDeviceSize = function() {
var cMobileSize = $('#users-device-size').find('div:visible').first().attr('id');
return (cMobileSize === "xs" || cMobileSize === "sm");
}
为此,我使用:
$().GetBootstrapDeviceSize()
有没有办法像这样调用相同的函数:
$.GetBootstrapDeviceSize()
也许甚至是这样:
$.GetBootstrapDeviceSize
答案 0 :(得分:6)
有没有办法像这样调用相同的函数:
$.GetBootstrapDeviceSize()
是的,将其放在$
上,而不要放在$.fn
上:
$.GetBootstrapDeviceSize = function() {
// ^^
var cMobileSize = $('#users-device-size').find('div:visible').first().attr('id');
return (cMobileSize === "xs" || cMobileSize === "sm");
}
也许甚至是这样:
$.GetBootstrapDeviceSize
是的,但这可能不是最佳实践。为此,您可以在$
上为该属性创建一个 getter :
Object.defineProperty($, "GetBootstrapDeviceSize", {
get: function() {
var cMobileSize = $('#users-device-size').find('div:visible').first().attr('id');
return (cMobileSize === "xs" || cMobileSize === "sm");
}
});
然后访问$.GetBootstrapDeviceSize
将运行该函数并为您提供返回值。不过,我可能会把它叫做BootstrapDeviceSize
,因为您访问它的方式就好像它不是方法一样,所以名词而不是动词才有意义。