jquery异步调用自数据库获取值通过knockoutjs赋值给职位二级菜单导致的jquery的hover事件不执行的例子
来源:互联网 发布:淘宝的企业店铺申请 编辑:程序博客网 时间:2024/05/16 07:28
页面中的相应代码:
<div class="goods"> <div class="head"> <h3> <i class="fa fa-bars pull-left margin-left-20"></i> <i class="fa fa-chevron-down pull-right margin-right-20"><span></span></i>全部职位分类 </h3> </div> <div class="all-goods"> <!-- ko foreach: $data.JobClass --> <div class="item " data-bind="css:{'btnone':$index==0}"> <div class=" product"> <i class="fa fa-chevron-right pull-right margin-top-10 margin-right-20 font-xs" style="color:#c1c1c1"></i> <h3> <a href="#" data-bind="text:$data.JobClassName">...</a> </h3> </div> <div class="product-wrap posone"> <!-- ko foreach: SubClass --> <div class="cf"> <div class="fl pr20"> <h2><a href="#" target="_blank" data-bind="text:$data.JobClassName">...</a></h2> <dl class="cf"> <!-- ko foreach: Jobs --> <dd> <a href="" target="_blank" data-bind="text:$data.JobClassName,attr:{'href':'/so/1/'+JobClassCode()}" style="font-weight:normal;">...</a> </dd> <!-- /ko --> </dl> </div> </div> <!-- /ko --> </div> </div> <!-- /ko --> </div> </div>
导致的显示效果本来是这样:jquery调用:
$.post("/service/getjobclass", {}, function (data) { jobClassX = data; console.info(jobClassX); page.VM.JobClass=ko.mapping.fromJS(jobClassX, {}, page.VM.JobClass); });
鼠标放在左边链接上能显示右边的菜单,但是,现在却显示不出了。
查了下控制hover显示的代码:
//商品分类
$('.all-goods .item').hover(function () {
console.info($(this).addClass('active').find('s')); $(this).addClass('active').find('s').hide(); $(this).find('.product-wrap').show(); }, function () { console.info($(this).removeClass('active').find('s')); $(this).removeClass('active').find('s').show(); $(this).find('.product-wrap').hide(); });增加console.info输出,在浏览器控制台没有任何提示,说明hover事件根本没有执行。刚开始以为是异步调用二级和三级职位分类没加载上,审查元素,
看到自数据库中获取的数据在页面中均正确加载了。经过各种尝试均没有解决。后来怀疑是异步调用的问题。改为同步调用。代码如下:
$.ajax({ url: "/service/getjobclass", type:"POST", data:{}, async:false, success: function (data) { jobClassX = data; console.info(jobClassX); page.VM.JobClass = ko.mapping.fromJS(jobClassX, {}, page.VM.JobClass); } });这才可以正确显示.推测是hover事件绑定函数的时候,异步调用还没有加载完全造成
0 0
- jquery异步调用自数据库获取值通过knockoutjs赋值给职位二级菜单导致的jquery的hover事件不执行的例子
- knockoutjs异步调用赋值导致的无缝滚动组件不起作用的处理
- Jquery二级菜单的显示
- Jquery给easyui的表单元素赋值,获取值
- Jquery给easyui的表单元素赋值,获取值总结
- Jquery给easyui的表单元素赋值,获取值总结
- jquery ajax 异步调用方法中不能给全局变量赋值的原因及解决办法
- jquery 异步调用方法中不能给全局变量赋值的原因及解决办法
- jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
- jQuery中多个元素的Hover事件
- jquery解除hover事件的绑定方式
- jQuery hover(over,out)事件的用法
- jQuery hover(over,out)事件的用法
- 简单的通过连接数据库给下拉菜单赋值(DropDownList)
- JQuery的hover函数
- jquery的hover()函数
- jQuery 的hover方法
- jquery实现菜单的二级联动
- [数据结构]第八章-字典
- 计算机运算中对小数的处理
- hadoop或者spark 增加节点
- 笔试题86. LeetCode OJ (72)
- StringBuffer、StringBuilder的区别?
- jquery异步调用自数据库获取值通过knockoutjs赋值给职位二级菜单导致的jquery的hover事件不执行的例子
- 聊聊并发-Java中的Copy-On-Write容器
- 支付宝新版支付接口Java后台签名
- Doge学HTML -2
- RxRetrofit-终极封装-深入浅出&网络请求
- flask 中上传保存文件。 wtf扩展下
- Formatter.formatFileSize()原理?
- 1-storm 介绍
- 解决linux下中英文界面问题