在Javascript中,从onclick调用多个函数的最佳方式是什么

在Javascript中,从onclick调用多个函数的最佳方式是什么,javascript,onclick,Javascript,Onclick,所以我有一个包含一系列函数的对象。我希望只需点击一个函数,就可以启动一组这样的函数。我已经让它工作了,但我认为我没有最好的解决办法。这是我的密码: HTML 编辑 我的主要目标是一次只启动某些函数,因此我可能必须考虑使用函数中的arguments变量来启动函数。最干净的方法是保持html的JS最少(或者最好不要使用JS) 就在这里 <button id="myButton" onclick="_this.handleOnClick())">click me</button>

所以我有一个包含一系列函数的对象。我希望只需点击一个函数,就可以启动一组这样的函数。我已经让它工作了,但我认为我没有最好的解决办法。这是我的密码:

HTML

编辑


我的主要目标是一次只启动某些函数,因此我可能必须考虑使用函数中的arguments变量来启动函数。

最干净的方法是保持html的JS最少(或者最好不要使用JS)

就在这里

<button id="myButton" onclick="_this.handleOnClick())">click me</button>
更好

document.getElementById("myButton").addEventListener("click", function(){
    _this.handleOnClick()
});

最干净的方法是用最少的JS(或者最好不用JS)保持html

就在这里

<button id="myButton" onclick="_this.handleOnClick())">click me</button>
更好

document.getElementById("myButton").addEventListener("click", function(){
    _this.handleOnClick()
});

最干净的方法是用最少的JS(或者最好不用JS)保持html

就在这里

<button id="myButton" onclick="_this.handleOnClick())">click me</button>
更好

document.getElementById("myButton").addEventListener("click", function(){
    _this.handleOnClick()
});

最干净的方法是用最少的JS(或者最好不用JS)保持html

就在这里

<button id="myButton" onclick="_this.handleOnClick())">click me</button>
更好

document.getElementById("myButton").addEventListener("click", function(){
    _this.handleOnClick()
});
这个怎么样

function one() {};
function two() {};
function three() {};

var button.document.getElementsByTagName('button')[0];

button.addEventListener('click', function() {
   one();
   two();
   three();
, false);
这个怎么样

function one() {};
function two() {};
function three() {};

var button.document.getElementsByTagName('button')[0];

button.addEventListener('click', function() {
   one();
   two();
   three();
, false);
这个怎么样

function one() {};
function two() {};
function three() {};

var button.document.getElementsByTagName('button')[0];

button.addEventListener('click', function() {
   one();
   two();
   three();
, false);
这个怎么样

function one() {};
function two() {};
function three() {};

var button.document.getElementsByTagName('button')[0];

button.addEventListener('click', function() {
   one();
   two();
   three();
, false);

可以通过以下方式调用所有对象方法:

var obj = {
    func1: function() { console.log('func1'); },
    func2: function() { console.log('func2'); }
}

Object.keys(obj).forEach(function(key){ obj[key](); }, this);
ES2015版本:

var obj = {
    func1: () => console.log('func1'),
    func2: () => console.log('func2')
}

Object.keys(obj).forEach(key => obj[key]());

obj必须仅包含方法

您可以通过以下方式调用所有对象方法:

var obj = {
    func1: function() { console.log('func1'); },
    func2: function() { console.log('func2'); }
}

Object.keys(obj).forEach(function(key){ obj[key](); }, this);
ES2015版本:

var obj = {
    func1: () => console.log('func1'),
    func2: () => console.log('func2')
}

Object.keys(obj).forEach(key => obj[key]());

obj必须仅包含方法

您可以通过以下方式调用所有对象方法:

var obj = {
    func1: function() { console.log('func1'); },
    func2: function() { console.log('func2'); }
}

Object.keys(obj).forEach(function(key){ obj[key](); }, this);
ES2015版本:

var obj = {
    func1: () => console.log('func1'),
    func2: () => console.log('func2')
}

Object.keys(obj).forEach(key => obj[key]());

obj必须仅包含方法

您可以通过以下方式调用所有对象方法:

var obj = {
    func1: function() { console.log('func1'); },
    func2: function() { console.log('func2'); }
}

Object.keys(obj).forEach(function(key){ obj[key](); }, this);
ES2015版本:

var obj = {
    func1: () => console.log('func1'),
    func2: () => console.log('func2')
}

Object.keys(obj).forEach(key => obj[key]());

obj必须只包含方法

创建一个调用所有函数的函数。。。。使用MVW,MVVM框架,比如Angular,Backbone。首先为什么要在HTML中指定点击处理程序?我建议您阅读不引人注目的Javascript的优点,并使用事件侦听器。我使用的是一个自定义前端框架,其中包括ractive.js,它使用on click=“”)。我刚刚更改了我的问题,这样在不使用ractive.js的情况下就可以理解。创建一个调用所有函数的函数。。。。使用MVW,MVVM框架,比如Angular,Backbone。首先为什么要在HTML中指定点击处理程序?我建议您阅读不引人注目的Javascript的优点,并使用事件侦听器。我使用的是一个自定义前端框架,其中包括ractive.js,它使用on click=“”)。我刚刚更改了我的问题,这样在不使用ractive.js的情况下就可以理解。创建一个调用所有函数的函数。。。。使用MVW,MVVM框架,比如Angular,Backbone。首先为什么要在HTML中指定点击处理程序?我建议您阅读不引人注目的Javascript的优点,并使用事件侦听器。我使用的是一个自定义前端框架,其中包括ractive.js,它使用on click=“”)。我刚刚更改了我的问题,这样在不使用ractive.js的情况下就可以理解。创建一个调用所有函数的函数。。。。使用MVW,MVVM框架,比如Angular,Backbone。首先为什么要在HTML中指定点击处理程序?我建议您阅读不引人注目的Javascript的优点,并使用事件侦听器。我使用的是一个自定义前端框架,其中包括ractive.js,它使用on click=“”)。我刚刚更改了我的问题,这样在没有ractive.js的情况下它就有意义了。