我在我的angularjs项目上获取event.target.id时遇到了问题。
继承我的代码:
输入标记指令
<input-tag-to></input-tag-to>
模块:
angular
.module('emailClient').directive("inputTagTo", function(){
return {
restrict: "E",
template: "<input type=text ng-model=toModel autofocus=true addtagto>",
controller: 'composeController'
}});
以及此处的 addtagto 属性
angular
.module('emailClient').directive("addtagto", function($compile) {
return {
link: function(scope, element, attrs) {
element.bind("keypress", function (event) {
if (event.which === 13) {
scope.addtoArray.push(scope.toModel);
var tagModel = scope.addtoArray.slice(-1)[0];
angular.element($('#to-box')).append($compile("<span class=\"box-tag\" style=\"padding: 3px;\" id=\""+ tagModel +"\">"+ tagModel +"<span class=\"glyphicon glyphicon-remove\" style=\"cursor:pointer;padding:4px;\" removetagto></span></span>")(scope));
event.preventDefault();
$('.input-to').val("");
scope.toModel = null;
$('.input-to').focus();
}
});
},
controller: 'composeController'
}});
在append元素上上有一个指令 removeaddto 和id="+ scope.toModel" +
。
现在我无法获取event.target.id,我将使用它作为值来删除其元素
angular
.module('emailClient').directive("removetagto", function($compile) {
return {
link: function(scope, element, attrs) {
element.bind("click", function (event) {
console.log(event);
console.log(event.target.id);
});
},
controller: 'composeController'
}});
的console.log(event.currentTarget); 结果:空ID
答案 0 :(得分:0)
您需要$event.currentTarget
而不是$event.target