【问题标题】:IE8 Not Calling Two JavaScript Functions via Onclick EventIE8 不通过 Onclick 事件调用两个 JavaScript 函数
【发布时间】:2014-09-10 17:05:11
【问题描述】:

基本上我想在 onClick 事件上调用两个函数。在 Firefox 和 chrome 中运行良好,但在 IE8 中运行良好!

第一个函数应该调用模态显示(模态表示表单正在保存 - 但它没有出现),而第二个函数保存表单然后隐藏模态。

HTML

<a onclick="openModal();saveForm();">Click Me</a>

<!-- Modal -->
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div id="modal">
        <img id="loader" src="static/images/ajax-loader.gif" />
    </div>
</div>

JavaScript

   function openModal(){
       $('#myModal').modal('show');
   }

   function saveForm(){
    //--- some logic
   }

提前谢谢你!

【问题讨论】:

  • 控制台有错误吗?
  • 你怎么知道func1不是的?
  • 如果你把alert() 放在func1 中,你看到了吗?
  • @adeneo:你不是在说learn.jquery.com/events/event-basics,你是adeneo吗?太棒了!
  • 显示模态 DIV 不会导致脚本等待用户填写。saveForm() 将在模态显示后立即运行,保存表单,并在用户有机会看到模态。

标签: javascript function events internet-explorer-8 onclick


【解决方案1】:

我个人不喜欢通过向 HTML 元素添加“onclick”属性来监听事件。相反,使用 .addEventListener 会更实用。我也真的可以推荐你jQuery。在 jQuery 中,你会写:

$('a').click(function(){
  func1();
  func2();
}

【讨论】:

  • 这是一种风格偏好。为什么你认为它会解决他在原始代码中遇到的任何问题?
  • 好吧,至少值得一试,因为无论出于何种原因@Barmar 无法与他的版本一起使用
  • 如果你想解决问题,像这样重新编码只是浪费时间。它绝对不可能改变行为。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-15
  • 1970-01-01
  • 1970-01-01
  • 2011-04-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多