- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已阅读 jquery: how to listen to the image loaded event of one container div?
我的情况类似:我有一个<body contentEditable="true"/>
使用可视化编辑器编辑的标签。该正文的innerHTML 由编辑器修改并触发事件。
问题是我必须处理调整大小逻辑。library中当前的调整大小逻辑是:
this.$body.on('keyup keydown paste change focus', function() {
return _this.adjustHeight();
});
除了拖放图像时未触发更改事件外,这工作得很好,但幸运的是触发了焦点事件。但是当事件被触发时,图像尚未加载,因此它不会调整到合适的尺寸。
监听最近使用 Js 代码添加到 DOM 的图像加载的最佳方式是什么?我尝试使用 $(window).load(fn)
但什么也没捕获。
最佳答案
您可以在添加图像元素时将 adjustmentHeight 函数绑定(bind)到图像元素的加载事件,如下所示;
this.$body.on('keyup keydown paste change focus', function() {
$(this).find('img').off('load', _this.adjustHeight).on('load', _this.adjustHeight);
return _this.adjustHeight();
});
$(this)
与 this.$body
相同(但允许您在当前持有者之外提取该函数)。.find('img')
获取 $(this)
内的所有图像元素(因此在可编辑区域内).off('load', _this.adjustHeight)
从图像元素中删除事件处理程序,如果没有这个,您最终可能会多次绑定(bind)该函数,这也会导致它被调用多次可能很容易成为性能问题.on('load', _this.adjustHeight)
将事件处理程序添加到图像元素,因此当图像加载
时会调用该事件处理程序我想到的是,您可能需要限制 adjustmentHeight 函数不被调用得太频繁,以防止当用户一次拖放大量图像时它卡住您的浏览器(除非它不是这样)我想象它可能是一个昂贵的功能)。但如果这确实是一个问题,您可能还必须使用其他解决方案来解决这个问题。
关于javascript - 稍后附加到 DOM 的图像的加载事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22040614/
我正在编写一个插件,有一个ajax调用向用户显示数据。 如果用户想在ajax成功时添加一些js?他可以从他的 js 脚本中做到这一点吗,比如定位这个 ajax 成功事件。 例如: $(documen
我有 html 代码,例如 - x 最初插入 div 'insert_calendar_eda_form'。 Javascript代码 calendar_eda_add
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 3 年前。 Improve this qu
我已经使用命令 sudo start myservice 启动了一个 upstart 服务。我想要一种方法,以便稍后我(或任何人)可以检查该服务是否已启动并正在运行。检查它的命令是什么? 最佳答案 找
我是一名优秀的程序员,十分优秀!