看板 Ajax 關於我們 聯絡資訊
※ 引述《a613204 (胖胖)》之銘言: : 想請問一下 : 假如我有一個按鈕 : <input type="button" name="b1" id="b1" value="按鈕"/> : 用jQuery的方式來設定 click事件的話 是用下面這種方式 : $('#b1').click(function(){ : ..... : }); : 假如說我要傳遞參數給click事件的話要怎麼做呢?? 目前只想到傳統的 : <input onclick="函數名稱('參數')" type="button" name="b1" id="b1" value="按鈕"/> : function 函數名稱(參數) : { : .......//裡面用jQuery的寫法 : } : 這樣是否就不需要先用$(document).ready({});包含起來呢?? why? 一般來講如果你在這時間點就知道要傳參數, 那你可以直接寫在event的定義裡啊 為什麼你不寫 $("#b1").click(function(){ 函數名稱('參數'); }); @_@ 至於是不是需要用 ready 來做,只要你確定你的 js 會出現在該html元素之後, 包不包是無所謂的。 當然延伸作法還有放attr來取attr之類的進階作法,像 jQuery tooltip就是, 不過,這一切都要看你的目的跟用途來作取捨。 -- 我:一半的日子讓你說,我聽你說你的所有______________________________________ ______________________________________一半的日子我想說,對你說過去的所有:我 _______________________________________________________ 在討論中妥善扮演兼具聆聽與分享的角色,是我們一生的課題。 _______________________________________________________ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.136.180.61
a613204:那請問寫在function內的程式是不是一定就不需要ready 06/19 22:16
a613204:元素都已經載入了 06/19 22:17
TonyQ:不一定,總之只要會用到元素都已經載入就沒問題這樣 06/19 22:22
TonyQ:放ready跟放body 最底部意思差不多(還是有差...不明顯) 06/19 22:22
a613204:這樣感覺有些奇怪?使用到function 元素不是應該都載入了? 06/19 23:09
a613204:那如果沒有使用jQuery 寫一般的function 不就有可能有問題 06/19 23:10
TonyQ:不一定,有時候在還沒ready之前element就已經可能存在且可以 06/19 23:20
TonyQ:被點擊了。所以像你文章中的那種寫法,反而是function應該要 06/19 23:21
TonyQ:定義在element之前才保險。 06/19 23:21
TonyQ:之所以jQuery的event binding會上在ready主要有三個原因, 06/19 23:21
TonyQ:一個是搞不清楚流程,另一個是定義在element出現之前,最後 06/19 23:22
TonyQ:一個則是所要做的事情有牽連到還沒出現的元素。 06/19 23:22
TonyQ:另外,function中也有可能去調用其他元素啊。:) 06/19 23:23