angular.js - angular指令中如何给模板中的子元素绑定事件?
漂亮男人
漂亮男人 2017-05-15 17:08:16
0
3
645
directive('mzIconTransform',['$timeout',function ($timeout) {
    return {
        scope: {
            iconSrc1: '@',
            iconSrc2: '@',
            showFlag: '=',
            clickFunc: '&'
        },
        restrict: 'EA',
        replace: true,
        transclude: true,
        template: '<p><img src="{{iconSrc1}}"  class="icon-button" ng-if="!showFlag" id="icon-off" /><img src="{{iconSrc2}}" class="icon-button" ng-if="showFlag" ng-click="clickFunc()" /></p>',
        link: function (scope, element, attr) {
            var elemChildren = element.children();
            element.bind('touchstart', function () {
                scope.$apply(function () {
                    scope.showFlag = true;
                });
                console.log("touchstart事件触发");
            });
            element.bind('touchend', function () {
                scope.$apply(function () {
                    scope.showFlag = false;
                });
                console.log("touchend事件触发");
            });
        },
    };
}] );

我想要的功能是触摸图片后,图片会变成另一张,触摸结束后又换回来,同时调用ng-click里面的方法,所以我想要给p下的第一个img添加事件,但是在link函数中好像取不到子元素,有什么办法可以取到子元素同时给他绑定事件的吗

漂亮男人
漂亮男人

모든 응답(3)
滿天的星座

element.find('img')[0] 구할 수 있나요?

某草草

컴파일에서 템플릿 수정
compile:function(iEle,iAttr){
//jquery 템플릿의 iEle 요소 아래에서 img 태그 가져오기
$('img',iEle).attr('someAttr','someValue' );/ /템플릿의 요소 속성을 수정하면 자연스럽게 ng-click으로 수정할 수 있습니다
}

淡淡烟草味

안녕하세요. 문제를 해결하셨나요? 해결해 주세요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿