2016-04-11 6 views
0

Satır İçi Düzen'de kendi içeriğimizi kopyalayıp yapıştırmaya çalışıyoruz ancak html içeriğini kendisi kopyalar.Satır içi HTML & CSS içeriğinin kopyalanmasından nasıl sakınılır İçerik doğrulaması yapılandırarak kullanılabilir Özellikler

enter image description here

Nasıl html içerik ve stil kopyalanmasını önlemek için:

aşağıda ekran görüntüsünü bulabilirsiniz?

Yalnızca içeriği kopyalayıp yapıştırmamız gerekiyor.

DEMO

html:

<td><a href="" contentEditable="true" ng-model="fName">John</a></td> 

Açısal:

var myApp = angular.module('myApp', []); 


myApp.directive('contenteditable', function() { 
    return { 
     require: 'ngModel', 
     link: function(scope, elm, attrs, ctrl) { 
      // view -> model 
      elm.bind('blur', function() { 
       scope.$apply(function() { 
        ctrl.$setViewValue(elm.text()); 
       }); 
      }); 

      // model -> view 
      ctrl.render = function(value) { 
       elm.html(value); 
      }; 

      // load init value from DOM 
      ctrl.$setViewValue(elm.text()); 

      elm.bind('keydown', function(event) { 
       console.log("keydown " + event.which); 
       var esc = event.which == 27, 
        el = event.target; 

       if (esc) { 
         console.log("esc"); 
         ctrl.$setViewValue(elm.text()); 
         el.blur(); 
         event.preventDefault();       
        } 

      }); 

     } 
    }; 
}) 

;

CSS: deneyebileceğiniz seçenek olarak

a[contentEditable] { 
    cursor: pointer; 
    background-color: white; 
    padding: .2em; 
} 
a[contentEditable]:focus { 
    cursor: pointer; 
    background-color: #D0D0D0; 
    border: 1px solid red; 
    padding: .2em; 
} 
+0

Eğer plnkr aynı çoğaltmak olabilir, http: – dreamweiver

+0

@dreamweiver //.plnkr.io: 1 min plunkr içinde yapacağım – CodeMan

+0

@dreamweiver: https://plnkr.co/edit/3bL5KUjC0kJGRQdYWZ9z?p=preview – CodeMan

cevap

0

yapmalı:

$('[contenteditable]').on('paste', function (e) { 
    var pastedText = undefined; 
    if (window.clipboardData && window.clipboardData.getData) { // IE 
    pastedText = window.clipboardData.getData('Text'); 
    } else if (e.clipboardData && e.clipboardData.getData) { 
    pastedText = e.clipboardData.getData('text/plain'); 
    } 
    // @see: https://developer.mozilla.org/en/docs/Web/API/Document/execCommand 
    document.execCommand('inserttext', false, pastedText); 
    return false; // Prevent the default handler from running. 
}); 
+0

metin kopyalamıyor. Bloke ediyor – CodeMan

İlgili konular