看板 Ajax 關於我們 聯絡資訊
※ 引述《kilva (嗡嗡)》之銘言: : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 114.44.169.165 : → ousapas:引數好像不能只有一個function 08/31 08:41 : → ousapas:http://goo.gl/miVMI 08/31 08:42 : → ousapas:218行 key只有處理object和string的情況 08/31 08:43 : 推 Fantasywind:不能單傳f source裡面type obj全部當作物件處理 08/31 08:55 : → KawasumiMai:呼叫之後的回傳值? 08/31 09:58 : : 再試驗的結果,只有$.data()函式的引數可以用函式,$.fn.data()會出現錯 : 誤訊號。 : 而且用法似乎和物件差不多。 : var a = function(){}; a.x = 3; a.y = 4; a.z = 5; : $.data($("div")[0],a)會在第一個<div>元素上儲存a的靜態變數。 : 效果和$($("div")[0]).data("x",3).data("y",4).data("z",5)一樣。 : : 另外,在ousapas提供的網址中的第249行中,將 : 「if ( typeof key === "object" ) {」改成 : 「if ( typeof key === "object" || typeof key === "function" ) {」 : $("div").data(a)就可以使用了。 : 效果和$("div").data("x",3).data("y",4).data("z",5)一樣。 : 不知道為什麼原始碼中沒有這樣寫? $.data 已經被限制為內部使用, 它確實允許傳入function, 可能是jquery本身有特別用途, 或只是之前考慮不周, 寫錯了, 為了維持相容只好留下來 使用 (key,value) 傳入單一值, 和用{key1:value2, key2:value2} 傳入多個值, 是jquery的慣例, .data .css .attr .prop 都是, 保持一致性的作法才是正確的 有什麼特別的理由一定要用 var a = function(){}; a.x = 3; a.y = 4; a.z = 5; 這種方式來使用 data() 嗎? 依js的靈活性, 也許可以再想出十種引數, 但回歸原點, 根本就只要兩種, 就是單一值和多值 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.126.239