第一次单击不执行onclick方法第二次才能执行 这是为什么?求大神指点!!
这是js
$('.two_bar').bind('click',function(){
var obj_lis = $('#newsCenter').find('li');
for( j=0; j<obj_lis.length; j++){
obj_lis[j].onclick = function(){
_txt = this[j].innerText;
}
这是html
<ul class="two_bar" id="newsCenter">
<li><a href="###">aaaaa<a/><li>
<li><a href="###">bbbbb<a/><li>
</ul>
不要用bind,用on方法$(selector).on(event,childSelector,data,function),bind会有其他的问题,点击事件最好都用on
用onclick事件
<ul class="two_bar" id="newsCenter" oncilck=test()>
<li><a href="###">aaaaa<a/><li>
<li><a href="###">bbbbb<a/><li>
</ul>
function test(){
var obj_lis = $('#newsCenter').find('li');
for( j=0; j<obj_lis.length; j++){
obj_lis[j].onclick = function(){
_txt = this[j].innerText;
}
}
$('.two_bar').bind('click', function() {
console.log(11111)
var obj_lis = $('#newsCenter').find('li');
console.log(obj_lis)
for (j = 0; j < obj_lis.length; j++) {
obj_lis[j].onclick = function() {
_txt = this[j].innerText;
}
}
})
你其实已经进了点击事件了
然后点击事件里面的for循环再去绑定一个新的点击事件
所以第一次是绑定点击事件,不知道你需要的功能是什么样的
如果是要点击li然后把li的值写入-txt应该这样写
$('.two_bar li').on('click', function() {
console.log($(this).text())
_txt = $(this).text();
})