相关疑难解决方法(0)

如何取消绑定调用event.preventDefault()的侦听器(使用jQuery)?

jquery切换默认调用preventDefault(),因此默认值不起作用.你不能点击一个复选框,你不能点击链接等

是否可以恢复默认处理程序?

javascript jquery events event-bubbling preventdefault

128
推荐指数
6
解决办法
22万
查看次数

如何重新启用event.preventDefault?

我有一个网页,我已阻止所有提交按钮的默认操作,但我想重新启用按钮上的默认提交操作我该怎么办?

我目前正在使用以下方法阻止默认操作:

$("form").bind("submit", function(e){
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

我使用以下方法成功完成了此操作:

$(document).ready(function(){
$("form:not('#press')").bind("submit", function(e){
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

但是,当单击按钮时,我可以动态执行此操作吗?

javascript jquery

70
推荐指数
3
解决办法
12万
查看次数

反应onClick和preventDefault()链接刷新/重定向?

我正在渲染一个带有反应的链接:

render: ->
  `<a className="upvotes" onClick={this.upvote}>upvote</a>`
Run Code Online (Sandbox Code Playgroud)

然后,上面我有upvote函数:

upvote: ->
  // do stuff (ajax)
Run Code Online (Sandbox Code Playgroud)

在链接之前我已经跨越那个地方,但我需要切换到链接,这就是麻烦 - 每次点击.upvotes页面都会刷新,到目前为止我尝试过:

event.preventDefault() - 无法正常工作.

upvote: (e) ->
  e.preventDefault()
  // do stuff (ajax)
Run Code Online (Sandbox Code Playgroud)

event.stopPropagation() - 不工作.

upvote: (e) ->
  e.stopPropagation()
  // do stuff (ajax)
Run Code Online (Sandbox Code Playgroud)

返回false - 不工作.

upvote: (e) ->
  // do stuff (ajax)
  return false
Run Code Online (Sandbox Code Playgroud)

我也在我的index.html中使用jQuery尝试了以上所有内容,但似乎没有任何效果.我该怎么做,我做错了什么?我已经检查了event.type,click所以我想我应该能够以某种方式避免重定向?

对不起,对于React来说,我是新手.

谢谢!

hyperlink coffeescript preventdefault reactjs

66
推荐指数
5
解决办法
9万
查看次数

如何在执行event.preventDefault()后重新启用默认值

我知道这个确切的问题是问在这里,但我需要做的,所以我想我会给出一些示例代码,并解释了一下,答案并没有为工作...

$(document).keypress(
    function (event) {
        // Pressing Up or Right: Advance to next video
        if (event.keyCode == 40 || event.keyCode == 39) {
            event.preventDefault();
            $(".current").next().click();
        }
        // Pressing Down or Left: Back to previous video
        else if (event.keyCode == 38 || event.keyCode == 37) {
            event.preventDefault();
            $(".current").prev().click();
        }
     }
 );
Run Code Online (Sandbox Code Playgroud)

它基本上禁用箭头键将它们用于其他东西,但是:

$(document).keypress(function () { });
Run Code Online (Sandbox Code Playgroud)

不再启用默认功能...我需要它来滚动页面而不必为它创建滚动功能...

有任何想法吗?

谢谢,
马特

javascript jquery events event-handling

7
推荐指数
2
解决办法
1万
查看次数