2013-05-10 84 views
-1

我打算傳遞一些回調函數,我需要通過數據標記進入。執行通過數據標記傳遞的所有函數

<div data-callback-functions="function01(),function02(),function03()"></div> 

我該如何抓取這些傳遞過來的函數並按順序執行它們?我假設我被允許使用括號來表示數據標籤中的函數?

+0

爲什麼會降低評分?這是一個完全有效的問題? – 2013-06-28 09:59:55

回答

2

「我想我可以在數據標籤內使用括號來表示函數嗎?」

是的,那是有效的標記。

「我怎樣才能抓取這些通過的函數並按順序執行它們?」

假設你已經在this到div的引用(根據需要調整):

var funcs = $(this).data("callback-functions"); 
eval(funcs); 

演示:http://jsfiddle.net/qPfzZ/

eval() function執行JS的任意字符串。您的data-屬性包含有效的JS。

+0

很酷所以eval會執行這些功能嗎?我需要擔心刪除功能之間的逗號嗎? – 2013-05-10 21:08:49

+1

您不必去掉逗號,因爲'data-'屬性包含有效的JS_with_逗號。 – nnnnnn 2013-05-10 21:11:15

+0

你真棒老兄非常感謝!我擔心我將不得不使用數組和各種。非常感謝! :) – 2013-05-10 21:17:41