Javascript AngularJS-将单击事件绑定到元素
我在ng视图中插入了以下部分。我只是粘贴部分相关的部分Javascript AngularJS-将单击事件绑定到元素,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我在ng视图中插入了以下部分。我只是粘贴部分相关的部分 <tr ng-repeat="group in groups"> <td><a href="" class="restaurant-group-edit" create-link>{{ group.name }}</a></td> <td>{{ group.members.length }}</td> <td>{{ 5 }
<tr ng-repeat="group in groups">
<td><a href="" class="restaurant-group-edit" create-link>{{ group.name }}</a></td>
<td>{{ group.members.length }}</td>
<td>{{ 5 }}</td>
<td style="text-align: right">
<span class="pseudo-select enhanced-select ps-settings">
<select class="enhanced-select ps-settings restaurant-group-select" restaurant_group_id="1">
<option value="actions">Actions</option>
<option value="edit">Edit</option>
<option value="edit">Restaurants</option>
<option value="delete">Menus</option>
<option value="edit">Delete</option>
</select>
<span class="es-label">Actions</span>
<span class="icon"></span>
</span>
</td>
</tr>
然而,这一事件从来没有受到约束。事实上,“我启动了指令!”实际上从未写入控制台。我错过了什么?将事件绑定到加载视图时创建的DOM元素似乎是一个常见的用例。当然有一个简单的方法去做这件事
谢谢你的帮助
Andrew将js中的指令名称更改为视图部分中声明的指令名称的camelcased版本:
adminApp.directive("createLink", function($location, $timeout, $rootScope) {
console.log("I fired the directive!");
return {
restrict: "A",
link: function(scope, element) {
$timeout(function(){
element.on("click", function(e) {
console.log("Clicked!");
});
});
}
};
});
使用
e.preventDefault()
谢谢!正是这些小事让你着迷。:-)
adminApp.directive("createLink", function($location, $timeout, $rootScope) {
console.log("I fired the directive!");
return {
restrict: "A",
link: function(scope, element) {
$timeout(function(){
element.on("click", function(e) {
console.log("Clicked!");
});
});
}
};
});