我有JQuery li元素,我想模拟点击。我已经写了一个角度很小的函数来这样做,但它似乎并没有工作。引导选项卡模拟单击不工作在JQuery
settings.triggerClick = function (levels) {
for (var i = 0; i < levels.length; i++) {
$("#Monday-" + levels[i].LevelCode + "-tab").trigger("click");
}
}
这在此称为:
// Get Service Levels to Build Delivery Rules Accordion
settings.getDeliveryServices = function() {
$http.get(resourceBase + "api/service/levels").success(function(data) {
settings.serviceLevels = data;
// Get Service Days
$http.get(resourceBase + "api/service/days").success(function(days) {
settings.serviceDays = days;
// Build the Accordion
settings.accordian(settings.serviceLevels);
settings.triggerClick(settings.serviceLevels);
});
});
}
的getDeliveryServices函数被调用时的页面/角负载。
我已经调试过,迄今为止我已排除serviceLevels为空,所以应该没有问题。我也确保调试器正在进入for循环。当我使用控制台获取该元素时,它会找到正确的JQuery dom元素。所以我不确定问题是什么。还值得一提的是,元素是由一个角度ng-repeat循环产生的。
<li id="{{day.Day}}-{{level.LevelCode}}-tab" ng-repeat="day in settings.serviceDays">
<a id="{{day.Day}}-{{level.LevelCode}}" href="#tabContent-{{day.Day}}-{{level.LevelCode}}" ng-click="settings.changeTab(day, level, $event)">{{day.Day}}</a>
</li>
所以我不知道它是否有事情做之前,我找他们不是可用的元素,但我认为这不是问题,因为我打电话settings.triggerClick()方法在成功/错误承诺中。
这似乎是反模式,但是使用本地点击'$(选择)获得(0)。点击();'代替'.trigger(“click”)' – Satpal
你知道SO有一个用于运行代码的js/html引擎 – Edwin
不好运行 –