Re: [問題] function

看板Ajax作者 (沉默是金。)時間15年前 (2010/06/19 20:50), 編輯推噓2(2011)
留言13則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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

06/19 22:16, , 1F
那請問寫在function內的程式是不是一定就不需要ready
06/19 22:16, 1F

06/19 22:17, , 2F
元素都已經載入了
06/19 22:17, 2F

06/19 22:22, , 3F
不一定,總之只要會用到元素都已經載入就沒問題這樣
06/19 22:22, 3F

06/19 22:22, , 4F
放ready跟放body 最底部意思差不多(還是有差...不明顯)
06/19 22:22, 4F

06/19 23:09, , 5F
這樣感覺有些奇怪?使用到function 元素不是應該都載入了?
06/19 23:09, 5F

06/19 23:10, , 6F
那如果沒有使用jQuery 寫一般的function 不就有可能有問題
06/19 23:10, 6F

06/19 23:20, , 7F
不一定,有時候在還沒ready之前element就已經可能存在且可以
06/19 23:20, 7F

06/19 23:21, , 8F
被點擊了。所以像你文章中的那種寫法,反而是function應該要
06/19 23:21, 8F

06/19 23:21, , 9F
定義在element之前才保險。
06/19 23:21, 9F

06/19 23:21, , 10F
之所以jQuery的event binding會上在ready主要有三個原因,
06/19 23:21, 10F

06/19 23:22, , 11F
一個是搞不清楚流程,另一個是定義在element出現之前,最後
06/19 23:22, 11F

06/19 23:22, , 12F
一個則是所要做的事情有牽連到還沒出現的元素。
06/19 23:22, 12F

06/19 23:23, , 13F
另外,function中也有可能去調用其他元素啊。:)
06/19 23:23, 13F
文章代碼(AID): #1C7BqQnl (Ajax)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
2
13
文章代碼(AID): #1C7BqQnl (Ajax)