繁体   English   中英

onclick 没有调用 javascript 函数

[英]onclick is not calling the javascript function

伙计们,我在我网页的脚本标签中编写了这样的代码

window.reset = function (e, elementId) {
  e.wrap("<form>").closest("form").get(0).reset();
  $(elementId).attr("src", " ").width(30).height(30);
  e.unwrap();
};

window.a = function (e, elementId) {
  e.wrap("<form>").closest("form").get(0).reset();
  $(elementId).attr("src", " ").width(30).height(30);
  e.unwrap();
};

这两个函数执行相同的工作。 但问题是点击时没有调用重置函数,而是调用了“a”函数\\

我的意思是:

这是调用重置功能的按钮。 这样就不会调用重置

 <button type="button" id="img-refresh" class="btn btn-secondary" data-dismiss="modal" 
    onclick="reset($('#image'), '#img-show');"
  > Refresh </button>

这样就调用了 'a' 方法。

 <button type="button" id="img-refresh" class="btn btn-secondary" data-dismiss="modal" 
    onclick="reset($('#image'), '#img-show');"
  > Refresh </button>

当我用 'a' 替换 'reset' 时,它正在工作。 有人可以告诉我有什么问题吗?

虽然我改成这样

window.customFunction = {
  reset: function (e, elementId) {
    e.wrap("<form>").closest("form").get(0).reset();
    $(elementId).attr("src", " ").width(30).height(30);
    e.unwrap();
  },
};

并使用这样调用它,它不起作用

 <button type="button" id="img-refresh" class="btn btn-secondary" data-dismiss="modal" 
    onclick="customFunction.reset($('#image'), '#img-show');"
  > Refresh </button>

我的猜测是resetwindow上下文的保留字......或者你的vendros的其他脚本正在覆盖你的函数

我的第一个问题是……你为什么要这样声明你的函数?

我可以建议 2 个选项:

你可以使用一个简单的函数声明而不是你所做的window.reset东西

  function reset() { 
    // do stuff
  }

然后以与您已经使用的方式完全相同的方式使用它?

或者

如果您明确希望在window上下文中使用它,请使用父键以确保您没有覆盖其他功能,也没有任何外部脚本覆盖您的...

window.myCustonFunction = {
  reset: function() {  },
  a: function() { }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM