2011-11-13 43 views
0

新來的zepto(老實說,遠離jQuery高手), 我想添加一個自定義函數。如何將自定義函數添加到zepto?

這是我嘗試迄今:

//define.. 
$.fn.doSearch = function() { 
    alert(this.parentNode.html()); 
    //now xhr.. 
} 
//assign.. 
$('#resetBtn').click(function (e) {$(this).doSearch()}); 

//define 
<script type="text/ja.. 
function doSearch(obj) { 
    alert('Ugly way but here I am'); 
} 

//assign.. 
$('#resetBtn').click(function (e) {window.doSearch()}); 

而且,無論是作品。我寧願走第一條路,知道.fn未上市仄-文檔。

問候,

//牛逼

回答

2

OK,現在我有

//define 
var myFunc = { 
    doSearch: function(obj) { 
    //just check obj is ok. 
    alert($(obj.parentNode).html()); 
    } 
} 
//correct way to extend zepto? 
$.extend($,myFunc); 

//assign... 
$('#searchBtn').click(function (e) {$(this).doSearch(this)}); 

這是要走的路?

+1

jQuery的,如果你做$ .fn.myFunc,myFunc的變成可以很容易地調用元素插件。所以雖然這是相似的,但它與$ .fn.myFunc不完全相同。如果你不需要傳入一個對象到你的函數中,但它可以像Jquery插件一樣調用它。我仍然在尋找正確的方法來做到這一點... –

0

正如文件中提到,

(function($){ 
    $.extend($.fn, { 
    foo: function(){ 
     // `this` refers to the current Zepto collection. 
     // When possible, return the Zepto collection to allow chaining. 
     return this.html('bar') 
    } 
    }) 
})(Zepto) 
相關問題