2013-08-26 5 views
9

तो मेरे पास मेरे रेल ऐप में एक संतोषजनक div है, और इसे हाइलाइट किए जाने पर टेक्स्ट के ऊपर एक छोटे पॉपअप को प्रदर्शित करने में सक्षम होना चाहिए। वर्तमान में मेरे पास कोड है जो काम करता है, और यह एक चेतावनी में हाइलाइट किए गए टेक्स्ट को प्रदर्शित करता है। हालांकि, फ़ंक्शन माउसअप पर निष्पादित होता है, इसलिए जब आप टाइपिंग या हाइलाइटिंग शुरू करने के लिए div में क्लिक करते हैं, तो यह एक खाली अलर्ट फेंकता है।सामग्री में चयनित पाठ प्राप्त करें योग्य डीआईवी?

function getSelected() { 
      if (window.getSelection) { 
       return window.getSelection(); 
      } 
      else if (document.getSelection) { 
       return document.getSelection(); 
      } 
      else { 
       var selection = document.selection && document.selection.createRange(); 
       if (selection.text) { 
        return selection.text; 
       } 
       return false; 
      } 
      return false; 
     }; 
$("#content-create-partial").bind("mouseup", function(){ 
       var text = getSelected(); 
       if(text) { 
        console.log(text); 
       } 
       else{ 
        console.log("Nothing selected?"); 
       }; 
      }); 

मैं कैसे समारोह contenteditable div में जब उपयोगकर्ता क्लिक करता है को क्रियान्वित करने से jQuery रोकूँ:

यहाँ मेरी कोड है? मैं केवल वास्तविक टेक्स्ट हाइलाइट होने पर इसे निष्पादित करना चाहता हूं।

उत्तर

-2

बस की जाँच करता है, तो चयन खाली है: if ($.trim(text) != '') ...

0

नहीं है "selectstart" घटना है जो आग जब उपयोगकर्ता चयन शुरू होता है। कोई चयन अंत ईवेंट नहीं है लेकिन चयन सुनिश्चित होने के लिए "चयन प्रारंभ" ईवेंट के बाद आप माउसअप ईवेंट सुन सकते हैं।

संपादित करें:

चेक - HTML Content Editable div: select text event

2

आप तुलना कर सकते हैं window.getSelection().anchorOffset और window.getSelection().extentOffset अगर वे बराबर हैं देखने के लिए। यदि वे हैं, तो यह सिर्फ एक सामान्य क्लिक था।

1

यदि कुछ भी नहीं चुना गया है तो निम्नलिखित सत्य वापस आ जाएंगे।

@ टारुन दुगर से प्रेरित हो गया। लेकिन सभी ब्राउज़रों में काम नहीं किया। निम्नलिखित काम किया।

window.getSelection().focusOffset == window.getSelection().anchorOffset; 
संबंधित मुद्दे