Tag: preventdefault

防止浏览器弹出taphold事件

在基于jquery-mobile的Web应用程序中,如何阻止默认浏览器菜单显示在“点击保持”…而不是我想显示自定义对话框页面.. 下面提到的是我现在的代码.. $(“.task_row”).bind(‘taphold’,function(event, ui){ event.preventDefault(); $(“#slide_down_menu”).trigger(‘click’); });

使用iframe阻止对按键的默认操作

这是一个问题22我无法弄清楚如何解决。 以我们主持的HTML5游戏为例: http://www.scirra.com/arcade/action/93/8-bits-runner – 警告有声音! 该页面托管在scirra.com但出于安全原因,该游戏位于static1.scirra.net上的iframe中。 现在如果你在玩游戏时向左或向右,向上或向下按,整个窗口上下左右滚动。 当游戏没有集中时,防止默认似乎工作正常。 我们希望在玩游戏时防止这种默认动作! 所以我们使用代码: var ar = new Array(32, 33, 34, 35, 36, 37, 38, 39, 40, 44); $(document).keydown(function (e) { var key = e.which; if ($.inArray(key, ar) > -1) { e.preventDefault(); return false; } return true; }); 我们将它放在父页面和iframe页面上。 当iframe左右焦点似乎被阻挡,但没有up and down 。 任何人都可以帮助我们解决如何停止页面滚动,并仍然允许人们在游戏下方的评论框中键入评论? 如果你阻止空格键,它会阻止人们在文本中添加空格!

有没有办法在focusOut中使用event.preventDefault? 如果没有,为什么?

我想阻止focusOut (或blur )事件的默认事件,并将焦点设置为特定的输入字段。 这是我已经尝试过的: 在函数的开头和结尾使用event.preventDefault() (用于测试目的,而不是样式) return false; 防止传播 将焦点直接设置回元素中的元素(但我发现焦点仍然会切换,因为在.on()函数执行后执行焦点切换。我知道我可以使用setTimeout ,但我想避免它并弄清楚问题的核心。) 使用blur而不是focusOut 我的代码是这样的: _triggerEventHide: function(inst, eventType) { inst.$target.on(eventType, function(event) { event.preventDefault(); if (!$.suggestBox.$divCont.hasClass($.suggestBox.mouseOverClassName)) { $.suggestBox.$divCont.css({display: ‘none’}); //reposition Suggestbox } else { inst.target.focus(); } event.preventDefault(); return false; }); } 请注意, $target表示jQuery包装的元素, target表示本机DOM元素。 我做了一些研究,已经发现了一些与我的问题相关的文章,但没有一个回答这个问题。 preventDefault对焦点事件不起作用 – 这里给出的答案是使用任何类型的事件操作的替代路径。 如果没有必要的值 ,将焦点reflection回文本框 – 这里,解决方案是使用setTimeout()将焦点设置回原始元素,这很好 ,但我想了解问题的核心,为什么preventDefault()不能在这里工作。 jQuery preventDefault()不工作 – 我尝试了一些可能的解决方案来自这个线程,比如使用event.stopImmediatePropagation()和event.stop() ,但一切都没有用。 […]

在“mousedown”中使用event.preventDefault()是否会阻止jquery中的“click”或“mouseup”事件?

我是jquery新手,我怀疑在mousedown或mouseup事件中使用events.preventDefault()是否会阻止click或dblclick事件? 请给我一个澄清或样品。 提前致谢。 马杜

不推荐使用getPreventDefault()。 请改用defaultPrevented。 为什么我会收到此错误,解决方案是什么?

以前我在我的代码中使用jQuery 1.7.1。 我收到了上述错误。 然后我直接从谷歌存储库使用jQuery 1.11.1 但我仍然得到这个错误。 我该如何解决这个问题? 由于此错误,我的其他jQueryfunction也无法正常工作。 我研究了很多关于解决方案但每次我都得到了相同的升级jQuery版本的解决方案。 但这对我来说也不起作用。

Chrome不允许使用标签预防错误

我有一个表单,用户可以在其中选项卡并跳转到不同的元素。 当它到达一个特殊的锚标签时我是要停止标签。 这是在Firefox中工作的代码 $(‘.next-tab’).keypress(function(e){ var code = (e.keyCode ? e.keyCode : e.which); console.log(code); if (code == 0 || code == 9){ console.log(“keypress”) e.preventDefault(); e.stopPropagation(); } }); 但是这个代码在chrome中不起作用,我不知道为什么,它甚至没有进入keypress方法。 所以我用这个代码换铬 $(‘.next-tab’).blur(function(e) { var code = (e.keyCode ? e.keyCode : e.which); console.log(code); if (code == 0 || code == 9){ console.log(“blur”) e.preventDefault(); e.stopPropagation(); } }); 它进入模糊方法传递条件但不做任何事情,用户可以轻松移动到下一个元素。

表单仍然在preventDefault上提交

我正在使用jQuery将表单数据提交到表单动作中的文件。 但是,当我提交表单时,浏览器会重定向到该操作(comment.php)。 我不知道为什么这是因为e.preventDefault()应该停止浏览器的重定向。 理想情况下,我希望浏览器不重定向并保留在当前页面(index.php)。 jQuery的: $(‘document’).ready(function(){ $(‘.commentContainer’).load(‘../writecomment.php’); $(‘.answerContainer’).on(‘submit’, ‘form’, function(e){ e.preventDefault(); var form = $(this).closest(‘form’); $.post($(form).attr(‘action’), $(form).serialize(), function() { $(‘.commentContainer’).load(‘../writecomment.php’); $(‘.commentBox’).val(”); } }); }); HTML表格: //form contents

preventDefault()对我不起作用

为什么这会拒绝工作? HTML的东西 Contact Javascript的东西 $(‘div#nav-bar’).filter(‘a’).click(function(event){ event.preventDefault(); });

event.preventDefault()在Mozilla或IE中无效

我终于在其他浏览器中测试我的网站(主要在Chrome中构建)。 不幸的是,很多东西似乎有不同的function。 我将从第一个问题开始:在登录时,我有一个JS / jQuery检查以确保用户名和密码匹配,并且在失败时它应该停止提交。 然而,虽然它适用于Chrome和Safari,但在Mozilla和IE中,提交仍在进行中(打到道歉页面,但仍然是我根本看不到的东西)。 我已经尝试为e.preventDefault()或evt.preventDefault() e.preventDefault() event.preventDefault() ,但是没有一个工作,表单仍然提交(对于后两个,它使得它也在Chrome中提交)。 这是我的代码,会喜欢任何想法: function checkLogin() { // get the variables, execute some other checks (eg, things not blank) // run ajax code to determine if pieces match $.ajax({ type: “POST”, url: “check_login.php”, data: {‘username’: username, ‘password’: password}, async: false, success: function(result) { if (result == 1) { […]

jquery select dropdown在打开时会忽略keydown事件?

我试图阻止退格按钮在每个浏览器中返回一页。 现在我正在使用这段代码: $(document).on(“keydown”, function (e) { if (e.which === 8 && !$(e.target).is(“input, textarea”)) { e.preventDefault(); } }); 除了打开选择字段下拉列表时,它才能正常工作,此事件将被忽略,退格区无论如何都会返回一页。 我怎么解决这个问题? 谢谢您的回答。