2012-05-23 39 views
0

我需要在焦點上運行一些代碼,並在頁面加載後注入到DOM中的元素上模糊事件。所以我使用Zepto的onZepto's on link)來運行代碼,但它不適合我。Zepto的焦點和模糊事件的實現

這是我的jsfiddle在我試圖使它的工作 - http://jsfiddle.net/ashfame/zR2xL/

+0

你引用的JS小提琴是使用jQuery,而不是Zepto。 – jasonmerino

+0

@jasonmerino檢查這個http://jsfiddle.net/zR2xL/4/ jQuery剛剛被加載。我已經在自定義資源選項下加載了zepto。 – Ashfame

回答

5

您對報關是一個小關在原來的jsfiddle。當您使用.live()「版本」的.on()您選擇具有的Zepto文件(因爲,我相信,這就是.live()功能做幕後是什麼)然後應用.on()方法,並將它傳遞的參數eventselectorfunction。它看起來是這樣的:

$(document).on(event, selector, function); 

看看這個JSFiddle,我修改了一下,從您的評論張貼之一。

我所做的改變是:

  • 重新排列的功能
  • 通過console.log()註釋掉jQuery的測試被甩出
  • 阻止點擊事件的默認錨元素上停止錯誤
  • 切換document.write$('body').append()

希望有所幫助!

+0

你的小提琴使用jQuery,如果實際與Zepto一起使用,會拋出一個錯誤,'$ .live()'也被棄用,只應使用'。.on()'。 –

+0

你是對的!我亂搞代碼,忘了改回傳遞Zepto進入匿名函數。我已經更新了我的答案。現在該頁面甚至不應該加載jQuery。謝謝! – jasonmerino

1

在提琴的問題是,不知何故小提琴搞砸了整個文檔寫的東西。

你雖然接近。您不能將事件偵聽器附加到您嘗試使用$(node).on()的節點上。

但是,從鏈接的文檔,你應該使用它,像這樣:

$(document).on("click", "selector", fn); 

我已經更新了你的小提琴,而不是使用jQuery的的Zepto並設置它在domready中運行,這使得就緒您的代碼中的事件不必要。

http://jsfiddle.net/zR2xL/3/