[英]Pass element id in a directive Angularjs
这是我将相同文本复制到剪贴板的指令
mainApp.directive('ngCopyable', function() {
return {
restrict: 'A',
link:link
};
function link(scope, element, attrs) {
element.bind('click',function(){
var text = document.getElementById('id-my-div');
var range = document.createRange();
range.selectNode(text);
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
var successful = document.execCommand('copy');
var msg = successful ? 'successful' : 'unsuccessful';
//console.log('Copying text command was ' + msg);
window.getSelection().removeAllRanges();
});
}
});
它正在工作。 我在图标中使用此指令
<span ng-copyable>
<i class="zmdi zmdi-copy"></i>
</span>
当我单击该图标时,将成功复制ID为id-my-div
的div内的文本。 问题是该ID不是动态的。 这样,将仅复制该元素。 可能更改指令传递我要复制的元素的ID吗?
您可以在指令中传递任何属性
<span ng-copyable>
<i class="zmdi zmdi-copy" elementId="myId"></i>
</span>
在您的指令中,您可以通过
var id = element.attrs('elementId')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.