2011-09-07 17 views
5

में प्लग मैं एक हिंडोला के आधार पर किया है:अक्षम मंडराना, पाठ का चयन करें, आदि जब खींच JQuery में एक तत्व

http://nooshu.com/explore/jquery-iphone-animation/

जब आप हथियाने और खींचने की प्रक्रिया में हैं, तो आप उपयुक्त हैं पाठ का चयन करने के लिए। यदि मेरे पास पैनलों में लिंक हैं, तो मुझे होवर संदेश, आदि मिलते हैं ...

मैं उन सभी को अक्षम करना चाहता हूं, इसलिए जब आप खींचने की प्रक्रिया में हैं, तो शेष बातचीत अक्षम हो जाती है।

विचार?

उत्तर

6

इस तरह की एक शैली वर्ग बनाएँ:

.unselectable { 
    -moz-user-select: none; 
    -khtml-user-select: none; 
    -webkit-user-select: none; 
    user-select: none; 
    -ms-user-select : none 
} 

फिर जावास्क्रिप्ट थोड़ा बदल mousedown पर इस वर्ग आवंटित करने के लिए। तो उस अनियमित लिपि से यह ऐसा दिखाई देगा।

$(this).unbind('mouseenter mouseleave'); 

फिर जैसा कि ऊपर mouseup पर फिर से उन्हें rebind:

jQuery(function($){ 
    //Initialise 
    iPhoneAnimation.init(); 

    //Mouse down bind move event 
    $(".content-box").bind("mousedown", function(e){ 
      $(this).bind("mousemove", iPhoneAnimation.moveInfo); 
      $(this).addClass("unselectable"); // <-- ADD THIS 
    }); 

    //Unbind mouse event 
    $(".content-box").bind("mouseup", function(e){ 
     var $this = $(this); 

     $this.unbind("mousemove", iPhoneAnimation.moveInfo); 
     //Animate the panel 
     iPhoneAnimation.panelAnimate($this); 
     //Reset the private var 
     iPhoneAnimation.resetVars(); 

     $(this).removeClass("unselectable"); // <-- AND ADD THIS 
    }); 
}); 

अक्षम करने के लिए आप mousedown इस तरह की घटनाओं पर निकल करने की जरूरत रखता है।

+0

कि यह किया, धन्यवाद! – Wesley

2
document.onmousemove = function(ev) 
{ 
    ev.preventDefault(); 
    /* 
    move it 
    */ 
} 
+0

यह मेरे लिए काम किया, धन्यवाद! –

0

मैं एक और लाइन के साथ Icchanobot के जवाब पूरा होगा:

-ms-user-select : none 

यह इंटरनेट एक्सप्लोरर के साथ काम 11/बनाने के लिए -

संबंधित मुद्दे