(jQuery)筆記-逐一代入同名稱不同數值

<div id="first">first</div>
<div id="second">second</div>



出現的結果就是會有兩個div,
而點選每一個都有不同的結果,

要做出按不同的div,會有不同的訊息,
一般可以想到針對第一個,有msg1,第二個則是msg2

var msg1 = … 之類的

但是10個100個就累死人了,



可是在語法中,message只有一個,
表示每個按下去的div都有自己的message,
一般的想法會以為:


var message = 'u click first';   //這裡定義
$('#first').bind('click',function(){  //這裡塞入
    alert(message);
})
var message = 'u click second';  //這裡定義新內容(同樣是message這個值)
$('#second').bind('click',function(){  //這裡塞入
    alert(message);
})

這樣的狀況下,並不如as當中一樣,
執行到哪就塞到哪並等著你,
因為,
最後按的時後,會去找到message(已經變second了)



因此,要塞入的方法就要改一下


Script
var message = 'u click first';
$('#first').bind('click',{msg: message},function(event){
    alert(event.data.msg);
})
var message = 'u click second';
$('#second').bind('click',{msg: message},function(event){
    alert(event.data.msg);
})

如此一來,一定義就塞入,就各不相關,
跟as中,給物件一個值同道理
但方法卻不同

for(i= .........){
obj = this.attach........
obj.i = i  //這一行
}

留言

這個網誌中的熱門文章

html嵌入youtube影片當背景,並靜音

css小發現:隱藏捲軸、強迫物件換行

好用的企畫編輯軟體- Axure