标签: preventdefault

event.stopPropagation和event.preventDefault有什么区别?

他们似乎在做同样的事情......一个是现代的还是一个旧的?或者它们是否受不同浏览器的支持?

当我自己处理事件(没有框架)时,我总是检查两者并执行两者(如果存在).(我也是return false,但我觉得这与附加的事件无关node.addEventListener).

那两个为什么呢?我应该继续检查两者吗?或者实际上有区别吗?

(我知道,很多问题,但它们都是一样的=))

javascript events preventdefault stoppropagation

761
推荐指数
7
解决办法
40万
查看次数

如何防止锚标签的默认?

假设我有一个锚标记,例如

<a href="#" ng-click="do()">Click</a>
Run Code Online (Sandbox Code Playgroud)

如何防止浏览器导航到AngularJS中的#?

preventdefault angularjs

341
推荐指数
16
解决办法
27万
查看次数

event.preventDefault()函数在IE中不起作用

以下是我的JavaScript(mootools)代码:

$('orderNowForm').addEvent('submit', function (event) {
    event.preventDefault();
    allFilled = false;
    $$(".required").each(function (inp) {
        if (inp.getValue() != '') {
            allFilled = true;
        }
    });

    if (!allFilled) {
        $$(".errormsg").setStyle('display', '');
        return;
    } else {
        $$('.defaultText').each(function (input) {
            if (input.getValue() == input.getAttribute('title')) {
                input.setAttribute('value', '');
            }
        });
    }

    this.send({
        onSuccess: function () {
            $('page_1_table').setStyle('display', 'none');
            $('page_2_table').setStyle('display', 'none');
            $('page_3_table').setStyle('display', '');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

在IE以外的所有浏览器中,这都可以.但在IE中,这会导致错误.我有IE8所以在使用它的JavaScript调试器时,我发现该event对象没有preventDefault导致错误的方法,因此表单已经提交.在Firefox(我发现使用Firebug)的情况下支持该方法.

任何帮助?

javascript events internet-explorer mootools preventdefault

202
推荐指数
5
解决办法
20万
查看次数

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

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

javascript jquery preventdefault

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

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

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

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

javascript jquery events event-bubbling preventdefault

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

防止表单上的默认值提交jQuery

这有什么问题?

HTML:

<form action="http://localhost:8888/bevbros/index.php/test" method="post" accept-charset="utf-8" id="cpa-form" class="forms">        
      <input type="text" name="zip" value="Zip code" id="Zip" class="required valid">      
      <input type="submit" name="Next" value="Submit" class="forms" id="1">
  </form>
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$("#cpa-form").submit(function(e){
    e.preventDefault();
  });
Run Code Online (Sandbox Code Playgroud)

jquery preventdefault

127
推荐指数
5
解决办法
41万
查看次数

Bootstrap 3 - 禁用导航栏折叠

这是我简单的导航栏:

<div class="navbar navbar-fixed-top myfont" role="navigation">
    <div class="">
        <ul class="nav navbar-nav navbar-left">
            <li>
                <a class="navbar-brand" href="#">
                    <img src="assets/img/logo.png"/>
                </a>
            </li>
            <li>
                <button class="btn btn-navbar">
                    <i class="fa fa-edit"></i>
                    Create 
                </button>
            </li>
        </ul>
    </div>
    <ul class="nav navbar-nav navbar-right">
        <li data-match-route="/"><a href="#/page-one">Login</a></li>
        <li data-match-route="/"><a href="#/page-two/sub-a">Signup</a></li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我只是想防止这种崩溃,因为我不需要它,该怎么办?

我想避免编写300K行的CSS来覆盖默认样式.

有什么建议吗?

css collapse navbar preventdefault twitter-bootstrap-3

87
推荐指数
3
解决办法
13万
查看次数

event.preventDefault()与return false(没有jQuery)

我想知道是否event.preventDefault()return false是一样的.

我做了一些测试,似乎

  • 例如,如果使用旧模型添加事件处理程序

    elem.onclick = function(){
        return false;
    };
    
    Run Code Online (Sandbox Code Playgroud)

    然后,return false防止默认操作,如event.preventDefault().

  • 如果事件处理程序使用添加addEventListener,例如

    elem.addEventListener(
        'click',
        function(e){
            return false;
        },
        false
    );
    
    Run Code Online (Sandbox Code Playgroud)

    然后,return false不会阻止默认操作.

所有浏览器的行为都是这样的吗?

event.preventDefault()和之间有更多的区别return false吗?

我在哪里可以找到一些文档(我不能在MDN中)关于在某些情况下的return false行为event.preventDefault()


我的问题只是简单的javascript,而不是jQuery,所以请不要将它标记为event.preventDefault()与return false的重复,即使两个问题的标题几乎相同.

javascript events event-handling dom-events preventdefault

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

反应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万
查看次数

何时使用PreventDefault()vs Return false?

首先,在JavaScript的事件模型中,您会遇到一个名为事件冒泡的概念(它使事件从子元素传播到父元素).为了避免这种冒泡效应,许多开发人员使用一种名为的事件方法stopPropagation( ).或者,开发人员已开始使用 return false语句来阻止此类传播.现在,有一个名为的术语 preventDefault( ).如名称所示,此方法可防止触发元素的任何默认行为.最佳用例是防止锚标记打开链接.

您可能会遇到一种情况,您希望阻止锚标记打开链接(默认行为)以及阻止事件上升到父级.在这种情况下,你可以用单行来完成它,而不是写两行代码.return false

javascript preventdefault

63
推荐指数
1
解决办法
4万
查看次数