相关疑难解决方法(0)

event.preventDefault()与return false

当我想在某个事件被触发后阻止其他事件处理程序执行时,我可以使用两种技术之一.我将在示例中使用jQuery,但这也适用于plain-JS:

1. event.preventDefault()

$('a').click(function (e) {
    // custom handling here
    e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)

2. return false

$('a').click(function () {
    // custom handling here
    return false;
});
Run Code Online (Sandbox Code Playgroud)

这两种停止事件传播的方法之间有什么显着差异吗?

对我来说,return false;比执行方法更简单,更短并且可能更不容易出错.使用该方法,您必须记住正确的套管,括号等.

另外,我必须在回调中定义第一个参数才能调用该方法.也许,有一些原因可以解释为什么我应该避免这样做并使用preventDefault呢?有什么更好的方法?

javascript jquery event-handling event-propagation dom-events

2891
推荐指数
9
解决办法
81万
查看次数

如何完全禁用任何鼠标点击

在用户点击...."登录"按钮和其他事件后,我制作了一个加载脚本 - 让用户知道他们必须等待(直到ajax回复).

我如何可以禁用任何鼠标点击(右键单击,左键单击,双击,中键单击,X点击),上div id="doc"
我想将该代码添加到loading.js


HTML

<html>
...
<body>
<div id="doc">
   <div id="content">
   ...
   <input type="button" value="Login" id="login" />
   ...
   </div id="content">
</div id="doc">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)



loading.js

function load_bar(x)
{
    if (x==0)
    {
    $(document.body).css( {"cursor": "default"} );
    $("body").css( {"cursor": "default"} );
    $("#loading").css("visibility", "hidden"); //modal window
//  $("#doc").....ENABLE all clicks (left/right/etc)
    }

    else if (x==1)
    {
    $(document.body).css( {"cursor": "wait"} );
    $("body").css( {"cursor": "wait"} );
    $("#loading").css( {"visibility": "visible"} ); //modal window
//  $("#doc").....DISABLE all clicks (left/right/etc)
    } …
Run Code Online (Sandbox Code Playgroud)

javascript jquery onclick mouseevent

41
推荐指数
4
解决办法
10万
查看次数

点击查找div id

我们假设我有以下结构:

<div id="divid1">
  <div id="divid2">
    <div id="divid3">
    </div>
    <div id="divid4">
    </div>
  </div>
  <div id="divid5">
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

上面的代码只是解释问题的一个例子,所以不要过多关注它.

现在让我们假设我有以下jQuery:

$("#divid1").click(function(){});
Run Code Online (Sandbox Code Playgroud)

现在..我想做的是以下内容:

  • 触发此事件时(即用户点击div中任意位置ID ID为divid1)告诉我他们当前所在的div的ID.当我说出他们所在的ID时,我指的是他们实际点击的div的ID ,即使它在里面divid1.让我们假设他们实际上已经点击了divid4.触发此事件是因为divid4内部divid2是内部的divid1

约束:

  • 除了divid1,我不知道任何ID.这是因为我正在动态生成所有其他div的ID,并且无法知道有多少div或者它们被调用了什么.

jquery jquery-selectors

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