我同时使用 jQuery 和 Zepto。我想有条件地在 jQuery 集合上调用 Zepto 方法。任何人都有一个雄辩的解决方案?我的代码目前看起来像这样:
// Obtain jQuery Object
var $selector = jQuery('.selector');
// Desktop
$selector.click( ... );
// Mobile
if (window.Zepto){
$selector.slideLeft( ... );
}
我同时使用 jQuery 和 Zepto。我想有条件地在 jQuery 集合上调用 Zepto 方法。任何人都有一个雄辩的解决方案?我的代码目前看起来像这样:
// Obtain jQuery Object
var $selector = jQuery('.selector');
// Desktop
$selector.click( ... );
// Mobile
if (window.Zepto){
$selector.slideLeft( ... );
}
它非常脆弱,但您可以使用Function.call
Zepto 函数将其应用于 jQuery 对象。我做了一个概念验证小提琴(http://jsfiddle.net/STnUQ/1/),显然它适用于简单的css
功能。
var div = jQuery('.test');
Zepto().css.call(div, 'color', 'red');
只要 jQuery 对象的底层数据结构与 Zepto 匹配,它就可以正常工作。但这并不能保证(甚至可能),您应该针对您的特定用途进行广泛的测试。