Javascript 获取click元素的索引
我正在尝试获取已单击元素的索引,但我一直在控制台中获取Javascript 获取click元素的索引,javascript,angularjs,angularjs-directive,scope,angularjs-scope,Javascript,Angularjs,Angularjs Directive,Scope,Angularjs Scope,我正在尝试获取已单击元素的索引,但我一直在控制台中获取-1。我正在使用Array.prototype从nodelist HTML: e.target返回li元素,$element.children()返回div列表不li 请尝试以下代码: var index = Array.prototype.indexOf.call($element.find("li"), e.target); angular.module('app',[]).controller('mainCtrl',function
-1
。我正在使用Array.prototype
从nodelist
HTML:
e.target
返回li元素,$element.children()返回div
列表不li
请尝试以下代码:
var index = Array.prototype.indexOf.call($element.find("li"), e.target);
angular.module('app',[]).controller('mainCtrl',function($scope){
$scope.myJson=[“mayank1”、“mayank2”、“mayank3”、“mayank4”、“mayank5”、“mayank6”、“mayank7”、“mayank8”、“mayank9”]
})
.directive('appClick',function(){
返回{
限制:“A”,
范围:正确,
控制器:函数($scope$element){
$element.bind(“单击”,函数(e){
var index=Array.prototype.indexOf.call($element.find(“li”),e.target);
控制台日志(索引);
});
}
}
});代码>
{{json}}
e.target
返回li元素,$element.children()返回div
列表不li
请尝试以下代码:
var index = Array.prototype.indexOf.call($element.find("li"), e.target);
angular.module('app',[]).controller('mainCtrl',function($scope){
$scope.myJson=[“mayank1”、“mayank2”、“mayank3”、“mayank4”、“mayank5”、“mayank6”、“mayank7”、“mayank8”、“mayank9”]
})
.directive('appClick',function(){
返回{
限制:“A”,
范围:正确,
控制器:函数($scope$element){
$element.bind(“单击”,函数(e){
var index=Array.prototype.indexOf.call($element.find(“li”),e.target);
控制台日志(索引);
});
}
}
});代码>
{{json}}
其他选项是设置索引
<div ng-app='app' ng-controller='mainCtrl'>
<div app-click="">
<div ng-repeat="json in myJson">
<li data-index="{{$index}}">{{json}}</li>
</div>
</div>
</div>
另一个选项是设置索引
<div ng-app='app' ng-controller='mainCtrl'>
<div app-click="">
<div ng-repeat="json in myJson">
<li data-index="{{$index}}">{{json}}</li>
</div>
</div>
</div>
一个问题。如果我有多个li,并且我想使用class=“list1”转到一个特定的li,并且。。。你能解释一下为什么$element.children()不起作用吗?你可以使用.find(“li[class='list1'])
来找出原因element@user4756836$element.children()返回div
列表非li
,e.target返回li元素一个问题。如果我有多个li,并且我想使用class=“list1”转到一个特定的li,并且。。。你能解释一下为什么$element.children()不起作用吗?你可以使用.find(“li[class='list1'])
来找出原因element@user4756836$element.children()returndiv
list notli
,e.target return li element应该考虑到这一点!谢谢。这是一个不同的按键行为。。如果我希望enter键与单击键具有相同的行为。。。当我按enter键时,我没有定义,但当我单击时,右e.target。li如何按键?如果我按住它。。。然后按回车键。。。我已经在容器及其子元素上设置了tabindexes。什么是e.target?问题不在于索引,问题在于你是如何绑定事件的。你应该考虑到这一点!谢谢。这是一个不同的按键行为。。如果我希望enter键与单击键具有相同的行为。。。当我按enter键时,我没有定义,但当我单击时,右e.target。li如何按键?如果我按住它。。。然后按回车键。。。我已经在容器及其子元素上设置了tabindexes。什么是e.target?问题不在于索引,而在于您如何绑定事件。
e.target.dataset.index