我在js中创建了一个div,然后给这个div赋予了id。然后在下面写了一个点击事件,是靠id的。在浏览器中看代码,有显示id,可是这个点击事件触发不了。(我换成别的在jsp中定义好id的div的id,就可以触发点击事件)请问有人知道是为什么吗?
1.尝试通过代码获取id对应的元素看能不能拿到,显示跟代码时不一样的
2.如果能拿到对应元素,则通过代码尝试调用元素的click事件
代码没有写对吧。从最基本的开始,事件里面只写alert看能不能触发
如果还不能,写alert($("$你的id")) 看看能不能找到这个div元素
如果已经定义好的div能触发。事件应该没有问题。可能是div输出的问题。详细检查格式是否正确。
可以实现的
<div class="title">点击改变字体颜色</div>
<script>
$(function(){
$(".title").attr("id","titleID");
$("#titleID").bind("click",function(){
$("#titleID").css("color","red")
});
})
</script>
1)看定义的id是否重复
2)通过Chrome或者firefox浏览器调试,给js代码加上断点,看js代码是否执行了
3)通过js代码获取这个id的div对象,看能否打印
var pTemp = $("<p id='p1'></p>").text("点我");
$('div').append(pTemp);
$('#p1').click(function(){
alert('222');
})
你用的原生js写的吗?那应该是能够调用的,我这里有个你可以参考一下
var div=document.getelementbyclassname('div')
div.setAttribute("id", "newId");
var okDiv=document.getelementbyid('newId')
okDiv.onclick=function(){
alert('成功了!')
}
$("#titleID").bind改成$(".title").bind不就行了,何必赋id
绑定事件的时候保证页面上有这个元素,你肯定是先绑定事件,然后又赋予的id。