[英]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.