相关疑难解决方法(0)

与evt.preventDefault()相反的是什么;

一旦我解雇了evt.preventDefault(),我怎么能再次恢复默认操作?

javascript jquery preventdefault

162
推荐指数
9
解决办法
16万
查看次数

如何重新启用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万
查看次数

e.preventDefault - 有没有办法去做默认?

假设我有一个链接:

<a href='http://example.com/file.zip' id='dl'>Download</a>
Run Code Online (Sandbox Code Playgroud)

当有人点击它时,我想做点什么,比如:

$("#dl").live("click", function(e){
    e.preventDefault();
    $("#dlbox").fadeOut(500);
});
Run Code Online (Sandbox Code Playgroud)

在我e.preventDefault之后有没有办法,继续doDefault?就像是

$("#dl").live("click", function(e){
    e.preventDefault();
    $("#dlbox").fadeOut(500);
    e.doDefault();
});
Run Code Online (Sandbox Code Playgroud)

所以它会正常运行事件?

javascript jquery javascript-events

8
推荐指数
1
解决办法
8717
查看次数

如何在执行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万
查看次数

在Safari中提交表单后,无法对DOM进行样式更改

我在Safari中提交表单后,在向DOM进行样式更改时遇到问题.有没有人知道它是否可能?这是Safari的预期浏览器行为吗?

我已经设置了一个非常简单的示例,以便您可以看到问题的实际效果:http: //jamesmichaelking.com/stackoverflow/safari/index.html

该示例包含一个html表单发布到自身,带有jquery表单提交事件,该事件查找输入按钮并将背景更改为红色.

该示例在Firefox和Chrome中运行良好

我已经从示例中包含了html,js和css:

HTML

<form action="index.html" method="post">
    <input type="submit" value="Submit me!">
</form>
Run Code Online (Sandbox Code Playgroud)

CSS

body {
    font-family: sans-serif;
    color: #fff;        
    text-align: center;
}

input {
    border: none;
    padding: 20px;
    font-size: 20px;
    background: #036;
    color: #fff;
}
Run Code Online (Sandbox Code Playgroud)

JQUERY

$(function() {

            $('form').on('submit', function() {
                $(this).find('input').css('background', '#c00');
            });

        });
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我创建了一个相同代码的JSFiddle,它工作正常:http: //jsfiddle.net/jamesking/q8WcV/

我在Mac上使用Safari 7进行测试

任何帮助非常感谢

html css safari jquery dom

6
推荐指数
1
解决办法
3300
查看次数