gpt4 book ai didi

javascript - 为什么声明 doctype html 会阻止事件拖动或触摸触发?

转载 作者:行者123 更新时间:2023-11-30 12:48:29 25 4
gpt4 key购买 nike

当声明 doctype html 时,我的代码停止工作,因此不会触发任何事件拖动或触摸。

我正在开发一个原型(prototype),将图像元素拖到容器元素中,然后对其进行裁剪。我还将实现双指缩放等功能。为了使它在移动浏览器上更好地工作,我需要将其设置在文档的头部,这有助于防止双击和其他不需要的事件触发:

<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1">

您可以找到一个没有声明文档类型的工作示例:

http://jsbin.com/cokil/5

如果我确实声明了 doctype 并放置了元视口(viewport),它就会停止工作,但我似乎无法理解为什么:

http://jsbin.com/cokil/4

它也已经过测试,只是添加了文档类型,没有元视口(viewport)。根本行不通!

有什么提示或建议吗?

最佳答案

当你声明一个 DOCTYPE ,您的页面会告诉浏览器严格呈现该页面。如果您简单地省略声明,它将改为使用所谓的 Quirksmode .

很明显,您的代码不符合添加 <!DOCTYPE html> 时使用的 HTML 5 严格模式.

我希望这是您需要的建议。

编辑:

我找到了导致您的脚本无法运行的原因。在你的drag -事件:只需将旧行替换为:

imgEl.style.top = y + parseFloat(event.gesture.deltaY)+'px';
imgEl.style.left = x + parseFloat(event.gesture.deltaX)+'px';

严格模式要求您返回后跟 px 的数值就像您在样式属性中定义它一样:style="top:0px; left:0px;" .

关于javascript - 为什么声明 doctype html 会阻止事件拖动或触摸触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21780121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com