将两个功能绑定到同一个按钮

时间:2013-09-09 16:06:19

标签: javascript jquery html

执行以下操作是有效的:

<form id="legalopt">
    <button type="submit" id="confirmopt" onclick="function2();">Click ME!</button>
</form>

$('#legalopt').submit(function(e){
    e.preventDefault();
    function1();
}

正如您所看到的,当提交按钮提交表单时会触发funcion1(),并且因为function2()调用该按钮而调用了onlick

这有效吗?跨浏览器兼容吗?

3 个答案:

答案 0 :(得分:6)

我更喜欢,因为他们都在同一时间执行,

$('#legalopt').submit(function(e){
  e.preventDefault();
  function2();
  function1();
});

答案 1 :(得分:1)

如果你想按顺序执行函数,那么将函数作为参数传递给首先调用的函数会很好。

function1(function2);
...
// At the end of function1's code
function2();

答案 2 :(得分:-1)

无论是谁拒绝了我的回答,这都是Fiddle

<form id="legalopt">
  <button type="submit" id="confirmopt" onclick="function1();function2();">Click ME!</button>
</form>

<div id="box"></div>


#box {
  position: absolute;
  width: 150px;
  height: 150px;
  top: 150px;
  left: 12px;
  border: 1px solid gray;
}



$(function() {

  $('#legalopt').submit(function(e) {
    e.preventDefault();
    function1();
    function2();
  });

  function function1() {
    $('#box').stop().animate({ left: '250px' }, 600);
  }
  function function2() {
    $('#box').css({ background: '#900' }).animate({ left: '12px'}, 600);
  }

});