2012-08-01 44 views
0

所以我一直在使用raphael來創建一個用戶界面,並希望這樣,如果有人點擊一個圓圈,它會突出顯示圓圈或者做一些視覺上有趣的事情,它被選中。我並不擔心這方面的視覺問題。我試圖找出一種方法來實現這一點,而且似乎沒有任何工作。這很簡單。至少我是這麼想的,但事實證明這一直給我一個很好的頭痛。我會提供代碼,但是我現在有一個混亂。如果你想要它,我會添加它。raphael .click和.unclick的幫助

function elemClick(el) 
      { 
       el.click(function(){ 
        circleSelectedArray[0] = true; 

       }); 

       el.unclick(function(){ 
        circleSelectedArray[0] = false; 
       }); 


      } 
+0

請張貼代碼...點擊並取消選中就像是在拉斐爾的最簡單的事情之一.... – Aukhan 2012-08-01 18:59:22

回答

4

你不能綁定單擊並同時解除綁定....

el.click(fn) means that you are binding a click event to that element like the way you have which is fine .... 
el.unclick(fn) means that you are unbinding a click function from that element. 

USE - >如果你是這樣的el.unclick()所有點擊事件將綁定從元素 如果您要使用一個功能....

function yourFunc(){ 
    console.log('you clicked me !')} 
    el.click(yourFunc); // now when you click this el console will show the phrase 
    //when you unbind the function 
    el.unclick(yourFunc); 

我只是有一種預感,你也許想使用鼠標按下和MouseUp事件....

編輯:您的要求

function sel_unsel(){ 
if(this.data('selected') == false){ 
    this.data('selected', true); 
    // do here what you want when element is selected 
    }else if(this.data('selected') == true){ 
    this.data('selected', false); 
    //do here what you want when element is unselected 
    } 
    } 
function elemClick(el){ 
    el.data('selected',false); 
el.click(sel_unsel);} 
+0

嘗試鼠標按下和鼠標鬆開。那不是我正在尋找的。我只希望能夠通過點擊一下鼠標來選擇一個圓圈,並保持選中狀態。然後,如果我想取消選擇它,我只需再次點擊它,然後再選擇它。這就是我想要的。 – j0hnstew 2012-08-01 19:28:01

+0

我確定我很煩人,但是我嘗試了上面的代碼並嘗試了一些簡單的console.log消息,以確保它到達那裏,事實證明它不是。想要把它放在一個簡單的圓圈上演示你的上述功能的jsfiddle?如果不是這很酷。欣賞這種幫助。 – j0hnstew 2012-08-01 20:17:06

+1

http://jsfiddle.net/NQtU5/17/你去我的朋友... – Aukhan 2012-08-01 20:44:48