做了一个功能,一个搜索框,根据输入的条件,查询数据,结果显示方式是一个悬浮框,下面是生成html的代码
friendsHtml += '<div class="imgHand divInfo" id="user' + item.Openid + '" onclick="editTitleAndStyle(this,\'' + item.Openid + '\',2)" >'; friendsHtml += '<div class="avatar" style="float:left;" onclick="test(1)"><img src="' + item.Headimgurl + '" onclick="test(2)" class="img" />'; friendsHtml += '</div>'; friendsHtml += '<div class="info" style="" onclick="test(3)">'; friendsHtml += '<span class="nickname_text" onclick="test(4)">' + (item.Name == null ? item.Nickname : item.Name) + '</span>'; friendsHtml += '</div>'; friendsHtml += '<div style="clear:both;"></div>'; friendsHtml += '</div>';
这个是样式
.divInfo { padding: 12px 18px 11px 20px; border-bottom: 1px solid #292C33; cursor: pointer; position: relative; } /*昵称文本样式*/ .nickname_text { color: #FFF; display: inline; vertical-align: top; overflow: hidden; white-space: nowrap; word-wrap: normal; font-weight: 400; font-size: 13px; line-height: 20px; margin-top: 10px; margin-left: 10px; } .info { float: left; } .avatar { float: left; position: relative; }
现在的问题是搜索出的结果除了第一个点击有反应,剩下的只有点击nickname才有反应,点击其他地方无任何反应。一直在纠结这个问题。只要把class="info"这个div的float:left;去掉就行了,但是去掉之后,效果就没了。
就你你描述说明跟你的样式也有一定的关系,你审查元素看下样式效果或者是在控制台看下是否有js错误!
js无错误,因为点第一个是可以点的,就是下面的不行,换成<div onclick="test()"><img /> nickname</div> 也不行。。。点击头像一点动静都没,点击nickname倒是有反应了
@祁临芯: 就这么口头描述,也就只能凭主观来判断基本可能的错误了!你要是方便的话,我远程调试下,看能不能找到错误所在!
@Recluse_Xpy: qq多少?
@祁临芯: 2752154844
@祁临芯: 我qq是894708097 验证密码是若茶
你生成的HTML的页面源码代码是什么?浏览器F12调试
调试了,就是点击之后,压根不触发任何事件,就算把事件写进子级的div里面都不行。
@祁临芯: 你这里不是有test(1)什么的方法,看下他进入这些方法了没有
@稳稳的河: 除了第一个,后面的都不进去啊。。。
事件肯定没有失效,就看你是不是点击到了。
不知道为啥点不上
@祁临芯: 建议对每个元素设置不同的背景色,然后再测试点击。
@幻天芒: 好
感谢各位大大提示,和2楼搞了大半小时,搞定了。
啥子问题?
@稳稳的河: 貌似现在才找到真正的问题,当输入框失去焦点的时候,我特么的把悬浮框隐藏掉了。。。
@祁临芯: 汗 ,所以点不到了。。。。。。。。。。