首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Js - JQ事件委托( 适用于动态生成的脚本元素添加事件

最近一段时间打了一个大仗,现在总算消停点,才有时间来做个总结吧算是: 移动端遇到一个项目,是一个列表的侧滑栏,在我这里用jq写的交互事件。自测各方面都挺好的,美滋滋的了研发。...后来就找共同点,发现有个类名控制的交互都不能实现,最后去问研发,你是不是没加上我的类名? 回:加着呢啊!我一看模拟器,确实加着呢。但是看源码,没有,因为他使用ajax后期加的。。...所以一开始事件找不到“接头人”就没有执行。 扫噶,定位到问题,就好解决了。 之所以整理成随笔,是因为我之前没遇到过这个问题,听过事件委托机制,但是根本没研究过不知道适用于什么样的bug场景。...正规点的说:JS异步加载,JQ事件不被执行解决方法(百度的标题,hah) jquery中动态新增的元素节点无法触发事件问题(同上) 解决方法: ? ?...但是缺点是:一个元素添加多个事件委托机制时,他就挂了。  王者方法:on ? //模拟多个事件!

4.9K50
您找到你想要的搜索结果了吗?
是的
没有找到

图片错误自动重载

但是我们通常只管图片赋值一个链接 爱怎么加载怎么加载,失败我也不管 这其实对于一个应用来说是非常不完善的 因为每个用户的网络情况无法预估(比如地铁上),图片加载失败必然导致页面就无法浏览或者体验差 这肯定不是一个好应用...所以通常我们会给图片加上一个 失败重载的机制。 那么今天我们就来看一下怎么实现这个 图片失败重载的机制。...1 简单描述 先简单说一下基本的处理 每一个 img 在加载失败后重新加载最多3次,超过3次就 换上默认图片 因为我们在引入我们js 或者 直出的时候,页面已经有 img 元素在加载了所以我们需要对已经存在的...3 动态监听新 img错误 我们是不是 监听 img 元素的插入,然后 img 元素加上一个 onerror 事件? 当然不是啦 ?...我们可以在全局监听一个 error 事件,并且在 事件回调中 判断元素是 img 才进行处理 那么具体是怎么做呢 document.body.addEventListener( 第三个参数useCapture

1.4K20

包学会之浅入浅出Vue.js:升学篇

按钮事件 按钮总少不了点击事件吧,那在Vue中怎么绑定事件呢,用methods属性,看下代码: <button class="qui-btn" v-on:click="btnClickEvent...上述我们将按钮<em>事件</em>写成默认的alert(this.msg),如果有些按钮想要异化<em>怎么</em>办。之前说了msg属性可以支持自定义,那么按钮的点击<em>事件</em>如何支持自定义呢?...导航组件quiNav.vue 我们将完成这样一个导航组件,点击导航中的tab,可以<em>给</em>当前tab<em>加上</em>一个active类,同时切换底部的黄色滑条,并且输出当前tab的文案,同时支持自定义<em>事件</em>。...我们<em>给</em>class绑定了一个数组,这个数组带有变量,先看commonClass,这个变量在data中定义了,然后数组的第二个元素是一个<em>JS</em>的三元运算符:item.active?...那么问题来了,<em>怎么</em>去修改每个item里面的active值呢?没错,<em>给</em>每个tab绑定一个点击<em>事件</em>,当点击<em>事件</em>触发的时候,修改当前tab对应item的active值。

21.8K5512

在开发中实现点击 WebView 中的图片,调用原生控件放大展示

其实实现这种交互非常简单,就是通过 JS 调用原生控件。基本思路如下: 首先加载一个 html 网页,网址或者本地 html 文件都可以。 遍历 html 标签源代码,找到所有的 img 标签节点。... 遍历到得 img 标签节点加上 onClick 事件。 通过点击加上的 onClick 事件,通过 JS 调用原生控件,展示放大即可。 效果图 这是在线网址展示的效果图 ?...上面两个参数,一个是 JS 接口,一个是监听函数的名字。..."})()"); } }); } 这里有行代码注意一下: window.imagelistner.openImage(this.src); 这里就是每个...img 节点加入点击事件,注意看这个imagelistenr其实就是 mWebView.addJavascriptInterface(new JavascriptInterface(this), “imagelistner

2.3K50

JavaScript笔记(21)

我们先来看看结构: 样式: JS: 先获取元素: 先搞定两个简单的事件,鼠标在预览图上时就显示遮罩层和大图,否则隐藏 这个地方一定要注意是preview-img这个盒子加事件而不是...preview下面的那个img,因为mask不在img里,无法捕获冒泡,所以当图片上遮罩出现时,就会一直频闪.而加在preview-img上的话就可以冒泡,鼠标放在图片上或者遮罩层上都会有效果....接下来就是比较困难的地方了: 下面得到的是遮罩层距预览图左侧和顶部的距离 maskX就是遮罩层在盒子中的left值,是怎么得来的呢,我来分析一下: 所以说要减去mask本身宽度和高度的一半...: 现在我们的遮罩层实现了移动,但是这样的话当我们鼠标到了边缘的时候,整个遮罩层也会跟着出去怎么办呢?...这个时候我们要加一些判断条件 最后由于方向是反的,当我们的遮罩层向右移动时,图片应该向左走,所以要在bigX和bigY之前加上负号 元素可视区client系列 client翻译过来就是客户端

65810

Css实战训练之图片点击放大

背景 非常常见的一个功能了,一般网站上显示的都是缩略图,等你点击缩略图之后,会在一个弹框中显示放大的图片 那么这个功能是怎么实现的呢? 正好学习了下css的基础知识,现在可以来实际的操作一把 1....-- 下面则是主页内容,先只几个图片 --> <img class='thum-img' src='http://f.hiphotos.baidu.com/image/...height: 200px; margin: auto; display: block; padding: 40px; } 接下来就是点击显示大图的逻辑了,借助js...id='bgImg' /> 其次就是弹窗的样式太丑,我们可以借助之前学习的边框阴影来实现美观的弹出效果, 改成图片全部填充背景 背景颜色去掉,加上阴影,加上白色边框...-- 下面则是主页内容,先只几个图片 --> <img onclick='showBgImg(this)' class='thum-img' src='http://f.hiphotos.baidu.com

10.6K40

JavaScript图片库

但是,如果你打算发布的图片过多,这个页面很快会变的过于庞大,而且加上这些图片后用户要下载的的数据量就会变得相当可观。...若返回的值是true,onclick事件处理函数就认为这个函数被点击了,若为false,就相反;所以加上return false,就可以防止用户被带到目标链接窗口; 注意:return false;只在...} 3、在学完nodeValue属性http://www.cnblogs.com/GreenLeaves/p/5695165.html#nodeValue后JS...我们该怎么做?我们最初的想法是想让新创建的元素紧紧的跟在图片清单的后面,而且不管清单出现在哪个位置。所以这个图片库的版本还有待改进!...图片库再做一次改进,代码如下: 第六版: utility.js  公共库 /* window.onload事件(当页面加载完毕时需要调用的事件,也就是说当我们在开发中需要调用一些JS函数在页面加载完毕后执行的可以和这个事件绑定

3.7K60

【精编重制版】JavaWeb 入门级项目实战 -- 文章发布系统 (第二节)说明

我们banner加上一个 overflow: hidden; 顺便把背景色去掉。...解决方法就是li添加一个浮动: 顺便给两个按钮加上 cursor: pointer 这个属性。 这样一来,鼠标划上去就会显示一个小手的图案。 3.6.5 如何实现下一张?...终于到js逻辑控制了,马上迎来的问题就是,怎么实现下一张呢? 我们知道,打从一开始,所有的图片就已经全部被加载好了,我们要移动图片,说穿了,就是改变 ul 的margin-left就ok了。... 接下来,在页面的底部添加script标签块,我们所有的JS...获取左右按钮,包装成jQuery对象: var leftBtn = $('.btn_left').eq(0); //左按钮 var rightBtn = $('.btn_right').eq(0);//右按钮 右边的按钮添加一个点击事件

1.4K20

可以被XSS利用的HTML标签和一些手段技巧

而且还有很多Payload就算把其中的HTML代码闭合后写在自己的前端中,都不一定触发,因为很多老的标签和事件都已经被W3C废弃了。...本文首先给大家总结一下目前通用可以拿来构造XSS的HTML标签和一些标签事件,然后再大家讲述一些绕过的技巧,教你在么构造出属于你自己渗透时真正需要的Exp。...--这些标签中src加伪协议js代码不能触发,IE8以前的时候可以--> img、video、audio标签   onclick:点击触发   onerror:当src加载不出来时触发   onload...要对应的事件发生可以触发 加上autofocus可以自动触发 目前整理出来在各个浏览器通用的就是这些 以后会持续更新 可以关注我的博客或者DX安全团队 一些绕过姿势 首先,有一些脚本小子可能还不知道什么是...那怎么样才可以让浏览器不自动跳转呢?

3.8K90

H5 项目实用

body=;如内容包含文本,使用%0A文本换行 <a href="mailto:863139978@qq.com?...<em>img</em>{display:block}; <em>img</em>{float:left}; <em>img</em>{vertical-align:top} ---- 13、想改变Input里 placeholder属性的样式,<em>怎么</em>办...overflow-y: auto; -webkit-overflow-scrolling: touch; /*liuhx:可以把这整行注释掉对比差别 */ } //<em>加上</em>...以下为参考值: html { font-size: 62.5%; } //10/16 = 62.5% //设置12px字体 这里注意在rem前要<em>加上</em>对应的px值,解决不支持rem的浏览器的兼容问题...默认触摸<em>事件</em> // 阻止windows Phone的默认触摸<em>事件</em> /*说明:winphone下默认触摸<em>事件</em><em>事件</em>使用e.preventDefault是无效的,可通过样式来禁用,如:*/ html {

5.2K11

QQ空间缓存图片_QQ空间原图

不知各位遇到特别长的图片时是怎么处理的? 是 截取符合长宽的部分做临时展示? 还是 硬要长宽100%模糊(啥也看不清)展示? 还是 先拿一个压缩的图片做占位,在鼠标移入或点击时放大预览?...顺着思路,一键 f12 打开源码,我看到了这样的代码: 显而易见,QQ应该是采用了js监听鼠标位置的做法,动态改变 img 标签中自定义属性的值,并根据此去改变图片的 margin-top...API,它们只作用在window对象上,返回窗口的文档显示区的高度(同系的还有一个 window.innerWidth ) 相对的两个 outerWidth 和 outerHeight ,用于获取加上工具条与滚动条窗口的宽度与高度...{ margin-top: 0; transition: all 2s linear; } 对img元素设置一个初始的margin-top,就是为了配合下面的transition使得在js...'); let box_height=box.offsetHeight; let img_height=img.naturalHeight; // 只有图片高度大于盒子高度时才有下面的事件 if(img_height

6.2K20

手机端页面在项目中遇到的一些问题及解决办法

'body')[0].scrollHeight){ e.preventDefault(); } }) 有时也会碰见弹窗出来后两个层的橡皮筋效果出现问题,我们可以在弹出弹出时底层页面加上一个类名...所以要想用 JS 模拟点击 A 标签事件,就得先往 A 标签中的文字添加能被 JS 捕获的元素,然后再用 JS 模拟点击该元素即可。但是我觉得不合理,虽然找不到原因但是解决办法还是有的。...; img.src="images/logoError.png"; img.onerror=null; 控制不要一直跳动 } <img src="images/logo.png...@ 说明:中文字体多数使用宋体、雅黑,英文用 Helvetica body {font-family: Microsoft Yahei,SimSun,Helvetica;} 19.打电话发短信写邮件怎么实现...// 一、打电话 打电话:0755-10086 // 二、发短信,winphone系统无效 发短信

3.4K30

EonerCMS——做一个仿桌面系统的CMS(五)

这次主要讲一下js模板和鼠标右键功能,东西比较简单,我就没有做demo,简单说下原理吧。 js模板   为什么要使用js模板?...model){ var re = new RegExp("{"+k+"}","g"); str = str.replace(re,model[k]); } return str; }   要怎么用呢...最终替换后输出就是这个样子了: <img src="img/shortcut/news.png...鼠标右键   这快没有太大难点,简单段代码自己去尝试下吧: //绑定任务栏点击事件 $('.task-window li').live('contextmenu',function(e){ //展示自定义右键菜单...右键点击我   下面我补充一张图,就是前几天发的一篇文章《一款腾讯UED设计的提示插件(使用教程)》,感觉调用方便,效果也不错,就直接拿来用了,直接看图吧   因为是在iframe里调用,所以要在调用方法前加上

58720
领券