簡體   English   中英

在指令Angularjs中傳遞元素ID

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM