作者TonyQ (沉默是金。)
看板Ajax
標題Re: [問題] function
時間Sat Jun 19 20:50:31 2010
※ 引述《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
1F:推 a613204:那請問寫在function內的程式是不是一定就不需要ready 06/19 22:16
2F:→ a613204:元素都已經載入了 06/19 22:17
3F:→ TonyQ:不一定,總之只要會用到元素都已經載入就沒問題這樣 06/19 22:22
4F:→ TonyQ:放ready跟放body 最底部意思差不多(還是有差...不明顯) 06/19 22:22
5F:推 a613204:這樣感覺有些奇怪?使用到function 元素不是應該都載入了? 06/19 23:09
6F:→ a613204:那如果沒有使用jQuery 寫一般的function 不就有可能有問題 06/19 23:10
7F:→ TonyQ:不一定,有時候在還沒ready之前element就已經可能存在且可以 06/19 23:20
8F:→ TonyQ:被點擊了。所以像你文章中的那種寫法,反而是function應該要 06/19 23:21
9F:→ TonyQ:定義在element之前才保險。 06/19 23:21
10F:→ TonyQ:之所以jQuery的event binding會上在ready主要有三個原因, 06/19 23:21
11F:→ TonyQ:一個是搞不清楚流程,另一個是定義在element出現之前,最後 06/19 23:22
12F:→ TonyQ:一個則是所要做的事情有牽連到還沒出現的元素。 06/19 23:22
13F:→ TonyQ:另外,function中也有可能去調用其他元素啊。:) 06/19 23:23