编程语言
首页 > 编程语言> > javascript-如何使用事件冒泡取消

javascript-如何使用事件冒泡取消

作者:互联网

我到处都在寻找有关如何停止事件冒泡的代码,并且我在Quirksmode网站上找到了一个代码,它是:

function doSomething(e){
    if(!e) var e = window.event;
    e.cancelBubble = true;
    if(e.stopPropagation) e.stopPropagation();
}

但是我不知道如何以及在哪里使用它.
“ e”参数用作什么(或应作为“ e”传递)?
是否在事件处理程序代码中调用此函数?
…等等?

我需要帮助,有人可以给我一些提示吗?

基本上,我有4个元素具有名为“ updateAvailableAttributes()”的“ onchange”处理程序,如下所示:

<select id="deliveryMethod" name="deliveryMethod" onchange="updateAvailableAttributes();"></select>

<select id="formatMethod" name="formatMethod" onchange="updateAvailableAttributes();"></select>

<select id="yearsMethod" name="yearsMethod" onchange="updateAvailableAttributes();"></select>

<select id="updateMethod" name="updateMethod" onchange="updateAvailableAttributes();"></select>

这是updateAvailableAttributes()脚本:

function updateAvailableAttributes() {
var form = document.forms["orderDefinition"];
form.elements["formChangeRequest"].value = "true";
$.ajax({
  type: "POST",
  url: "ajax/possibleValues.html",
  data: $("form#orderDefinition").serialize(),
  success: function(response){
    $('#usercontent .sleeve .toprow').html(response);

    applyValidation();
    radioButtonHighlightSelection();

  },
  error: function(response, ioArgs) {
         if (response.status == 601) {
             sessionTimedOut();
         } 
      }
});

// Display a "please wait" message
$("#waitingMsgOverlay, #waitingMsgBox, #waitingMsg, #waitingMsgParag").ajaxStart(function(){
      var map = document.getElementById("OrderMap");
      map.disableApplication();
      $(this).show();
      radioButtonHighlightSelection();
  }).ajaxStop(function(){
      var map = document.getElementById("OrderMap");
      map.enableApplication();
      $(this).hide();
      $("#toolpanel").height($("#orderMap").height());
      radioButtonHighlightSelection();
});}

我的问题是,如何将’doSomething(e)’与’onchange’事件处理程序中已经包含的’updateAvailableAttributes()’合并?

先感谢您.

解决方法:

e是事件.例如,如果您在另一个div内有一个div,并且它们两个都有一个名为doS​​omething的js单击处理程序.因此在onclick属性中使用onclick =“ doSomething(event);”如果单击内部div外部,现在将无法处理

标签:event-bubbling,events,javascript
来源: https://codeday.me/bug/20191209/2096783.html