当前位置: 首页 > news >正文

私服网站去哪买空间啊北京网站seo公司

私服网站去哪买空间啊,北京网站seo公司,企业网站用什么程序好,营销型网站整体优化观点1:当使用layui中elment.on或form.on事件(也就是所有利用layui里面的on去绑定事件)时,利用pjax加载页面,并且多个页面包含相同 lay-filter元素时,某一个页面绑定的lay-filter元素事件处理程序会在其他未…

观点1:当使用layui中elment.on或form.on事件(也就是所有利用layui里面的on去绑定事件)时,利用pjax加载页面,并且多个页面包含相同

lay-filter元素时,某一个页面绑定的lay-filter元素事件处理程序会在其他未绑定任何事件处理程序的相同lay-filter元素上起作用。

观点2:

layui里面的on绑定事件只有最后一次绑定的生效,与jquery里面的on绑定同一事件多次,则会多次生效的结果不同。

下面举例:

页面1DOM结构如下:

<form data-pjax class="layui-form" action="admin/role"><div class="layui-form-item"><div class="layui-inline"><label class="layui-inline">名称</label><div class="layui-inline" style="width: 300px;"><input type="text" name="name" placeholder="请输入角色名称搜索"  autocomplete="off" class="layui-input" value="#(name??)" />
      </div>
      <div class="layui-inline"><button class="layui-btn" id="searchBtn" lay-submit lay-filter="searchBtn"><i class="layui-icon">&#xe615;</i>搜索</button></div></div></div>
</form>            

里面包含一个lay-filter为searchBtn的元素

页面2DOM结构如下:

<form data-pjax class="layui-form" action="admin/role"><div class="layui-form-item"><div class="layui-inline"><label class="layui-inline">名称</label><div class="layui-inline" style="width: 300px;"><input type="text" name="name" placeholder="请输入角色名称搜索"  autocomplete="off" class="layui-input" value="#(name??)" /></div><div class="layui-inline"><button class="layui-btn" id="searchBtn" lay-submit lay-filter="searchBtn"><i class="layui-icon">&#xe615;</i>搜索</button></div></div></div>
</form> 

 里面包含一个lay-filter为submitBtn的元素。

说明:其中页面1无任何事件绑定,

页面2利用一下代码,绑定了表单提交事件(这里故意绑定了页面1中存在的元素)

form.on("submit(searchBtn)",function(){alert("我是页面2的事件处理程序"); 
})

 

 实验:

当进入页面1点击搜索按钮时,页面正常进行pjax提交;当进入页面2再返回页面1时,点击搜索按钮会弹出提示框(我是页面1的事件处理程序)。

这就说明页面2绑定的事件在页面1已经起作用了,这就验证了我们观点1

继续:

如果在页面1中添加如下事件绑定代码

form.on("submit(searchBtn)",function(){alert("我是页面1的事件处理程序"); 
})

 这个时候不管是 打开页面1-打开页面2-回到页面1,还是打开页面2-打开页面1;点击页面1的搜索按钮都只会弹出提示框(我是页面2的事件处理程序)。

这就验证了观点2:只会最后一次事件处理程序生效。

解决办法:

1 如果页面不会对该元素进行事件处理,则不要设置lay-filter属性,或则每个页面元素设置唯一的lay-filter值。

2  经过对layui源码分析,发现之所以出现这种跨pjax页面事件串行,是因为layui对事件进行了cache,我们只需要在pjax加载页面之前清空cache事件即可,代码如下

layui.use(['element'], function() {$(document).on('pjax:start', function() { layui.cache.event={};});
}) 

 建议按照方法1进行,方法2没有经过大量测试,不知道是否会有其他BUG或者性能影响,毕竟不是前端程序员,对于这些不熟,望见谅,其他同学也可以发表自己建议。

转载于:https://www.cnblogs.com/aDust/p/9714955.html

http://www.lbrq.cn/news/2486575.html

相关文章:

  • 做二手车按揭的网站详情页页面页面
  • 单纯做seo能否提升网站流量东莞疫情最新消息今天又封了
  • 北京建设工程交易网seo刷词
  • 网站建设环保seo的中文含义是什么意思
  • 网站图片轮播怎么弄引流用什么话术更吸引人
  • 岳阳网站制作石家庄新闻网头条新闻
  • 有什么做服装的网站好优化外包服务公司
  • 东莞品牌网站建设学校网站建设哪家好
  • wordpress主题安装后不一样seo网址大全
  • 网站开发机构重庆seo全面优化
  • 定制网站公司哪家好客源软件哪个最好
  • 北京市委宣传部西安百度网站排名优化
  • 宣传册设计及网站建设做网站要多少钱
  • 建网站的重要性百度首页快速排名系统
  • 做视频上传到网站怎么赚钱如何推广一款app
  • 网站建好怎么发布seo优化技术
  • 如何建wap网站百度网页推广怎么做
  • 网站设计公司网页设计比较好的网络推广平台
  • 北京c2b网站建设如何做好推广引流
  • 腾讯云 门户网站建设今日军事新闻最新消息
  • 网站制作过程合理的步骤是网络平台怎么创建
  • 开发公司人事行政经理工作总结及计划安康地seo
  • 在ps中网站界面应做多大全网
  • 专业的开发网站建设百度广告代运营
  • 个人网站制作软件郑州seo优化培训
  • 佛山著名网站建设公司如何建立独立网站
  • 怎么做优惠卷网站公关团队
  • 在线音乐网站开发教程重庆森林为什么不能看
  • 济南企业建站sem优化托管
  • 中国移动璧山网站建设最新互联网项目平台网站
  • SpringBoot 整合 Langchain4j AIService 深度使用详解
  • 用KNN实现手写数字识别:基于 OpenCV 和 scikit-learn 的实战教学 (超级超级超级简单)
  • 电子电气架构 --- 软件bug的管理模式
  • 【RHCSA 问答题】第 13 章 访问 Linux 文件系统
  • 机器学习对中特估股票关键特征选取的应用与研究
  • python 检测蜂窝网络,实现掉网自动拨号