2013-03-07 42 views
0

我正在使用jQuery和Zepto。 我想有條件地調用jQuery集合上的Zepto方法。任何人都有雄辯的解決方案?我的代碼目前看起來是這樣的:在jQuery集合上使用Zepto方法

// Obtain jQuery Object 
var $selector = jQuery('.selector'); 

// Desktop 
$selector.click(...); 

// Mobile 
if (window.Zepto){ 
    $selector.slideLeft(...); 
} 
+0

爲什麼不將這些Zepto方法集成到jQuery插件中? – CodeColorist 2013-03-07 01:22:26

+0

試過...沒有編輯Zepto源碼就無法做到...即e.touches需要變成e.originalEvent.touches ...等等 – Globalz 2013-03-07 21:59:23

回答

0

這是非常脆弱的,但你可以使用Function.call來的Zepto功能應用到jQuery的對象。我做了一個概念驗證小提琴(http://jsfiddle.net/STnUQ/1/),顯然它適用於簡單的css函數。

var div = jQuery('.test'); 
Zepto().css.call(div, 'color', 'red'); 

只要jQuery對象的底層數據結構匹配Zepto,它就可以正常工作。但是這並不能保證(或者甚至可能),你應該對你的具體用途進行廣泛的測試。