angularjs 复制自身html,angularjs - angular js zeroclipboard copy html - Stack Overflow

Ok, finally got it using ng-clip. It this script I use the same directive to copy plain text and HTML text. I set a mime-type in the directive tag. These buttons are turning green with an OK glyph (using bootstrap) for 2 seconds and go back to normal afterwards.

It goes like this:

Add the JS to you HTML file:

adding a directive to your JS controller:

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

[...]

app.directive('copyButton', function ($timeout) {

return {

restrict: "E",

scope: {

content: '@',

mimeType: '@',

innerText: '@',

class: '@'

},

template: ' {{innerText}} ',

link: function ($scope, element, attrs) {

if(!$scope.mimeType){

$scope.mimeType = "text/plain";

$scope.innerText = "Copy TEXT "

}else {

$scope.innerText = "Copy HTML"

}

var toggleButton = function(element){

angular.element(element.find('button')[0]).toggleClass("btn-SwBLUE");

angular.element(element.find('button')[0]).toggleClass("btn-success");

angular.element(element.find('i')[0]).toggleClass("glyphicon-duplicate");

angular.element(element.find('i')[0]).toggleClass("glyphicon-ok");

};

$scope.clipped = function(){

toggleButton(element);

$timeout(function(){ toggleButton(element); }, 2000);

};

}

};

});

And using it in my HTML:

Pretty cool, isn't it? :D

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值