[問題] 如何呼叫N次的function只執行一個
我頁面上有一個<img class='abc' src='略'/>
click事件並傳入class名稱如:change_bg('abc')
頁面下面放了一個jquery的blockUI,裡面有一個<img>
當我點擊頁面上的<img class='abc'/>,會打開block
而且會指定BLOCK裡的<img>的class也等於'abc'
並且指定一樣的事件,如:change_bg('abc')
讓他們兩個class一樣的目的是要這兩個<img>同步動作,
但block裡面的<img>,不是固定的,指到哪一張圖,他的class就是誰
問題在於block裡面的圖片事件change_bg('abc')會一直保留
影響到我原本頁面上的<img class='abc'>,變成change_bg('abc')執行兩次,關閉再打開
N次就會執行N次,因為是有其他用意,沒辦法改,有沒有其他的方法,讓我的
change_bg('abc'),只執行一個就好??
原本在頁面上的change_bg('abc'),點擊block出來裡面的<img>即使指定了class='abc'
及事件,但是它就是不理原本頁面上的change_bg
所以才再指派了一樣的事件給它:change_bg('abc')
但是關閉後會造成我原本頁面上的<img class='abc'/>執行兩次change_bg('abc')
謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.0.232.61
推
10/30 22:14, , 1F
10/30 22:14, 1F
我弄一個範例網頁,等一下
※ 編輯: PTTLSboy 來自: 123.0.232.61 (10/30 22:37)
→
10/30 23:53, , 2F
10/30 23:53, 2F
→
10/31 00:20, , 3F
10/31 00:20, 3F
→
10/31 01:48, , 4F
10/31 01:48, 4F
→
10/31 01:50, , 5F
10/31 01:50, 5F
change_bg裡面做的事情是傳遞ID值進去做一些滑鼠事件
※ 編輯: PTTLSboy 來自: 123.0.232.61 (10/31 02:24)
因為BLOCK裡的<img class='img1'是後來程式產生的,所以一開始執行的change_bg('img1')
只對原本的有用,BLOCK裡的就沒反應,所以當圖片產生的時候就補change_bg給它
有沒有方法可以解決這個問題:block裡的img不要重新給它change_bg,用一開始的change_bg
※ 編輯: PTTLSboy 來自: 123.0.232.61 (10/31 02:32)
※ 編輯: PTTLSboy 來自: 123.0.232.61 (10/31 02:33)
→
10/31 12:57, , 6F
10/31 12:57, 6F
→
10/31 20:15, , 7F
10/31 20:15, 7F
→
10/31 20:18, , 8F
10/31 20:18, 8F
謝謝兩個,用了b12031106大的jquery .on解決了..
出乎意料的簡單,而且有效!
※ 編輯: PTTLSboy 來自: 123.0.232.61 (10/31 21:11)
推
11/01 23:42, , 9F
11/01 23:42, 9F
→
11/01 23:43, , 10F
11/01 23:43, 10F
請問是我誤會element意思嗎? 之後產生的還是不會alert
change_bg($('.img1')); //傳入這樣嗎
function change_bg(id){
id.click(function(){
alert(1);
});
}
※ 編輯: PTTLSboy 來自: 123.0.232.61 (11/02 00:44)
→
11/02 01:10, , 11F
11/02 01:10, 11F
→
11/02 01:12, , 12F
11/02 01:12, 12F
→
11/02 01:12, , 13F
11/02 01:12, 13F
→
11/02 13:40, , 14F
11/02 13:40, 14F
→
11/02 13:41, , 15F
11/02 13:41, 15F
→
11/02 13:41, , 16F
11/02 13:41, 16F