2013-01-06 28 views
1

點擊創建一個功能不選我有一個選擇,當雙擊了一個div的功能,問題是我不能事後取消選擇它,這裏是腳本 CSS: 如何當外界DIV

div.editable 
    { 
     border: solid 2px Transparent; 
     padding-left: 15px; 
     padding-right: 15px; 
    } 

    div.editable:hover 
    { 
     border-color: black; 
    } 

</style> 

SCRIPT:

// Uncomment the following code to test the "Timeout Loading Method". 
    // CKEDITOR.loadFullCoreTimeout = 5; 

    window.onload = function() { 
     // Listen to the double click event. 
     if (window.addEventListener) 
      document.body.addEventListener('dblclick', onDoubleClick, false); 
     else if (window.attachEvent) 
      document.body.attachEvent('ondblclick', onDoubleClick); 

    }; 

    function onDoubleClick(ev) { 
     // Get the element which fired the event. This is not necessarily the 
     // element to which the event has been attached. 
     var element = ev.target || ev.srcElement; 

     // Find out the div that holds this element. 
     var name; 

     do { 
      element = element.parentNode; 
     } 
     while (element && (name = element.nodeName.toLowerCase()) && 
      (name != 'div' || element.className.indexOf('editable') == -1) && name != 'body'); 

     if (name == 'div' && element.className.indexOf('editable') != -1) 
      replaceDiv(element); 
    } 

    var editor; 

    function replaceDiv(div) { 
     if (editor) 
      editor.destroy(); 

     editor = CKEDITOR.replace(div); 
    } 

</script> 

DIV:

<div class="editable" style="height:490px;overflow:auto;" id="text2"> 
<p>Click Here to edit</p>"; 
</div> 

我想要實現的是當我單擊外部或單擊另一個對象或按鈕div將自動取消選擇。

回答

0

相同的方式,你已經辦理雙擊:

// Listen to the click event. 
if (window.addEventListener) 
    document.body.addEventListener('click', yourCallback, false); 
else if (window.attachEvent) 
    document.body.attachEvent('click', yourCallback); 

此事件將觸發直到另一個單擊處理程序連接到的body子元素。在yourCallback中,您可以結束編輯模式。