当前位置: 代码迷 >> JavaScript >> 无法通过其ID访问轮播
  详细解决方案

无法通过其ID访问轮播

热度:82   发布时间:2023-06-05 15:59:53.0

我的网站上正在运行一个轮播

<script type="text/ng-template" id="weekCarouselTemplate">
        <br>
<br>
    <br>
        <br>
            <div id="weekCarousel_{{$index}}" class="carousel slide">
                <a href="#weekCarousel_{{$index}}" data-slide="prev" class="prevweek">
                    <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
                </a>
                <div class="carousel-inner">
                    <div  class="item" ng-repeat="week in ls_weeks" data-slide-number="{{$index}}" ng-class="makeActive(week)">


                        <div class="weekList">
                            <div style="float:left"; ng-class="highlightDay($index,week,usrLifestyle.lsid)" ng-repeat="d in ls_days track by $index" ng-click='weekdayClicked($index,week,usrLifestyle.lsName,usrLifestyle.lsid,usrLifestyle.insertTimestmp)'>
                            {{d}}
                            </div>
                        </div>
                    </div>

                </div>
                <a href="#weekCarousel_{{$index}}" data-slide="next" class="nextweek">
                    <div class="glyphicon glyphicon-chevron-right" aria-hidden="true"></div>
                </a>
            </div>
            <br>
                <br>
    </script>

我试图通过使用不起作用的ID来访问

angular.element("#weekCarouselTemplate").bind('slid', function (e) {
  console.log("slid event after!");
});

angular.element函数不能以这种方式工作。 您需要将DOM元素或html字符串(而不是选择器字符串)传递给它。

var carouselElem = document.getElementById('weekCarouselTemplate');
var $carouselElem = angular.element(carouselElem);
$carouselElem.bind('slide', function(e){
    //something  
});

更多信息 。

  相关解决方案