是否有任何方法使用onclick html属性调用多个JavaScript函数?


当前回答

功能组件

             <Button
                onClick={() => {
                  cancelAppointment();
                  handlerModal();
                }}
             >
                Cancel
             </Button>

其他回答

另外,为了便于维护JavaScript,可以使用命名函数。

下面是匿名函数的例子:

var el = document.getElementById('id');

// example using an anonymous function (not recommended):
el.addEventListener('click', function() { alert('hello world'); });
el.addEventListener('click', function() { alert('another event') });

但是,想象一下,您有一对附加到同一个元素上的它们,并且想要删除其中一个。从该事件侦听器中删除单个匿名函数是不可能的。

相反,你可以使用命名函数:

var el = document.getElementById('id');

// create named functions:
function alertFirst() { alert('hello world'); };
function alertSecond() { alert('hello world'); };

// assign functions to the event listeners (recommended):
el.addEventListener('click', alertFirst);
el.addEventListener('click', alertSecond);

// then you could remove either one of the functions using:
el.removeEventListener('click', alertFirst);

这也使您的代码更容易阅读和维护。特别是当函数更大的时候。

定义了一个函数的链接

<a href="#" onclick="someFunc()">Click me To fire some functions</a>

从someFunc()触发多个函数

function someFunc() {
    showAlert();
    validate();
    anotherFunction();
    YetAnotherFunction();
}

ES6反应

<MenuItem
  onClick={() => {
    this.props.toggleTheme();
    this.handleMenuClose();
  }}
>
onclick="doSomething();doSomethingElse();"

但实际上,最好完全不使用onclick,而是通过Javascript代码将事件处理程序附加到DOM节点。这就是所谓的不显眼的javascript。

 const callDouble = () =>{
    increaseHandler();
    addToBasket();
}                
<button onClick={callDouble} > Click </button>

这对我来说很有用,你可以在一个函数中调用多个函数。然后调用这个函数。