问题标签 [preventdefault]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9801 浏览

jquery - 单击时禁用悬停

我有一个 div,里面有一个无序列表,当你点击一个 LI 项目时,它会向左滑动。

问题是当您单击列表项时,div 向左滑动,当它在鼠标光标下滑动时,它会在所有列表项滚动时触发滚动动画。

有没有办法在项目 onclick 上禁用 javascript?

我试过这个:

但这似乎不起作用,因为动画仍然在悬停的其他列表项上继续?

0 投票
5 回答
1534 浏览

jquery - event.preventDefault() 不会停止带有 gmail 的 mailto 链接

我有一个 jQuery 函数,其中 even.preventDefault() 应用于单击任何具有“可编辑”类的元素。

但是,它并没有阻止 gmail 打开它的 sweb 界面来发送电子邮件。它适用于未设置默认邮件行为的系统(我主要测试的系统)..不确定它何时通过 Outlook 或实际邮件应用程序运行。

有一些解决方法吗?

编辑:我也尝试过 event.stopPropagation(); 但它仍在进行中。

0 投票
1 回答
382 浏览

javascript - 这是对复选框输入的默认点击事件的核心误解,还是有缺陷的代码?

当绑定到复选框输入的单击事件时,复选框在我的事件处理程序运行时已经切换,更奇怪的是,如果我指定 event.preventDefault(); 在我的事件处理程序运行后切换会反转。

[在 chrome 和 firefox 中测试]

该代码的 JSFiddle

警报将响应“真”(或复选框预单击的相反状态)。关闭警报后,复选框会切换回来。

所以,我想问题是,

被阻止的实际默认事件是什么?假设我的事件处理程序应该在状态更改之前运行,我错了吗?有没有办法合法地拦截复选框点击?

为什么在世界上是 preventDefault 导致重新切换复选框?

0 投票
4 回答
144 浏览

jquery - 关于preventDefault的jQuery澄清

http://api.jquery.com/event.preventDefault/

“如果调用此方法,则不会触发事件的默认动作。”

正如我在示例代码中观察到的那样,“默认操作”意味着当人们单击超链接时将他们从不同的页面重定向。

这个功能还有其他用途吗?

它如何与表单交互?

0 投票
1 回答
939 浏览

google-chrome - 完全“Kiosking”Chrome(捕获并防止 Cw/t/n 的默认值)

我需要阻止 Ctrl-w、Ctrl-t、Ctrl-n 执行它们的默认功能。我知道删除用户权限是不受欢迎的,但在做出判断之前请听我说完。

event.preventDefault() 仅适用于 p 等较小的键组合,但根据javascript 捕获浏览器快捷方式 (ctrl+t/n/w),n、t 和 w 不受客户端 javascript 的影响。

我正在为 3-12 岁的孩子编写教育云软件,并且我使用 Chrome 的Kisok 模式来限制他们乱搞的能力。我可以完全控制有问题的计算机。是否有隐藏的 Chrome 选项/扩展程序/Windows 技巧/我可以用来使计算机真正成为信息亭而不是“kisok”的其他东西?

另外,我正在使用Ace编写云代码编辑器,并且我想使用 emacs 键绑定,但是当我尝试下一行时,我不断打开新窗口。

编辑澄清:它是 Chrome 只是因为那是规范/我们控制系统,但如果有人对 ff/o/ie 有想法,它会很有用

0 投票
0 回答
363 浏览

jquery - jQuery在默认事件被阻止后模拟点击

我再次与 jQuery 一起度过了一段美妙的时光,这一次它在调用 .click() 时不太奏效。

这个想法是有一个单例类来查找任何带有 ui-hint-confirm 标记的元素并显示一个确认对话框。如果用户单击“确定”,则单击原始元素,否则对话框将关闭。但是由于代码可以说一千多个单词:

除了在加载时查找 ui-hint-confirm 元素之外,还可以使用 setConfirm 函数手动调用它。

上面代码的问题是 $(this).click() 内部没有发生任何事情我已经验证它通过调试器(Chrome)和警报到达该行。

我也试过 $(this).unbind('click', onClick) 和 $(this).unbind('click') 没有区别。没有错误记录到控制台。

有任何想法吗?谢谢。

更新:根据要求,添加一个 html 元素示例,这将起作用:

必须在常规链接上工作:

必须在仅 js 链接上工作:

必须在提交按钮上工作:

必须使用已经附加了一些脚本的说链接:

在最后一个示例中,对话框应显示在警报消息之前。

我有一个类似的东西在 ExtJS(现在称为 Sencha)中没有问题我只是无法让它在 jQuery 中工作。

谢谢

0 投票
1 回答
1906 浏览

jquery - Jquery trigger('click') 在 IE 中不起作用

我再次更新了这个,这只在某些版本的 IE 中失败。这是 js 代码中最后一行的内容。"$($nextlink).trigger('点击');" 某些版本的 IE 无法处理...是否有可能解决它以确保它适用于所有 IE 版本?

这是javascript...

html:

所以基本上两个问题:

  1. 为什么有些IE版本不模拟鼠标点击?

  2. 为什么它在 Firefox 中不起作用?(我遇到了 event.preventdefault 在 Firefox 中不起作用的问题,但现在已修复,见下文)

请参阅http://jgriph.se上的完整示例

0 投票
1 回答
354 浏览

jquery - 无法在 jQTouch 链接上阻止默认()

我试图阻止我的 jQTouch 应用程序中的链接在 href 中加载页面。我的代码的一个非常简化的版本如下

当我单击“搜索”链接时,会出现警告框,但页面仍会加载。

我错过了什么吗?

0 投票
2 回答
17404 浏览

javascript - 如何防止 iOS 5 中 touchmove 事件的默认行为?

我有一个基于 Web 的应用程序,其中包含一个用户可以用手指上下滚动的组件。我使用事件的preventDefault方法来防止触摸移动在 iOS 设备上移动整个屏幕的默认行为。

不幸的是,这似乎不再适用于我今天早上刚刚升级到的 iOS 5。我不得不假设这只是在 iOS 5 中以不同的方式完成,但我还没有找到提供说明的资源。

更新#1:我无法找到我的具体问题的答案,但我能够稍微调整我的代码以使用-webkit-overflow-scrolling样式(设置为“touch”值)并实现时髦的惯性滚动功能(根据您的滑动速度,内容滚动得更快,并且如果它碰到边界会“橡皮筋反弹”回来。看起来很酷......

更新#2:我现在有另一个奇怪的问题。由于某些奇怪的原因,溢出滚动行为有时会混淆,您必须在包含元素上左右拖动手指才能使其内容上下移动。我还没有弄清楚为什么会发生这种情况 - 有没有人有任何想法?

0 投票
2 回答
543 浏览

javascript - 更改默认键操作 JavaScript

可能重复:
如何用 jQuery 替换击键?

有没有办法可以更改 JavaScript 中按下的键的默认字符。就像如果有人按下“E”按钮,它会打印出 ap,这是实时的,就像它被输入到 textarea 中一样。无论如何用jQuery或类似的东西来做这个?谢谢!