在 jQuery 中等效的 Onmove 事件
onmove event equivalent in jquery
查询中移动的等效名称是什么。以下是onmove在直接javascript中所做的。
仅 IE 支持:
在元素左上角的位置发生更改时发生。
jquery 中是否有执行此操作的事件。
无法使用本机事件侦听器。但是,您可以将函数放在使元素移动以实现它的函数中。
例如:
<div id="box"></div>
<script>
function blah(){
//onmove things...
}
function movebox(e){
blah(e); //link to the function
}
</script>
元素相对于文档的位置可能会由于多种原因而发生变化 - 包括边缘情况,例如HTML5-Video在观看后显示较小的预览图片,这不包括收听单击,键控,重新加载和任何其他事件。
由于 jQuery 没有对 onmove
的内置支持,您可以做的最好的办法是捕获许多可以移动元素的事件,然后过滤元素是否真的移动,这可以通过将当前jQuery.fn.offset()
值与上次事件出现的值进行比较来完成。
此解决方案涵盖了可能移动元素的两个最重要的事件(页面生成和窗口大小调整(:
jQuery(window).on('load resize', function () {
/* code here... */
}
如果你的 DOM 可能会改变,你可以改用这个:
jQuery(window).on('load resize DOMSubtreeModified', function () {
/* code here... */
}
但是请谨慎使用最后一个,如此处所述。
由于这些事件经常被调用,这对您的客户很重要 PC,您不会为每个事件执行任何复杂的任务,或者至少检查元素的位置是否确实发生了变化(如上所述(。
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- Jquery:未触发select事件
- JsFiddle上的鼠标事件不起作用
- 只覆盖箭头键滚动事件
- $window.ga在AngularJS事件中未定义
- cron作业与Javascript计时事件
- 在 jQuery 中等效的 Onmove 事件