onclick中的新功能

000*_*000 2 html javascript onclick button

编辑:只是一个例子.我需要if/else的支持

我想做这个:

<button onclick="function() {alert('Hi!');prompt('What can I do for you?', 'make a Sandwich');}">Hello World!</button>
Run Code Online (Sandbox Code Playgroud)

显然这不起作用.

你知道怎么做吗?

我如何"召唤"新功能?

我不能简单地在<script></script>-node中定义它.

Tus*_*har 5

你不需要function打电话.您可以直接使用Javascript代码.这被认为是不好的做法.

<button onclick="alert('Hi!'); prompt('What can I do for you?','make a Sandwich');">
    Hello World!
</button>
Run Code Online (Sandbox Code Playgroud)

演示

您还可以使用function如下的事件处理程序:

HTML

<button onclick="fnHandler();">
    Hello World!
</button>
Run Code Online (Sandbox Code Playgroud)

使用Javascript

function fnHandler() {
    alert('Hi!');
    prompt('What can I do for you?','make a Sandwich');
}
Run Code Online (Sandbox Code Playgroud)

演示

使用addEventListener你可以绑定来自javascript的事件而不是HTML中的内联(推荐):

HTML

<button id="myButton">
    Hello World!
</button>
Run Code Online (Sandbox Code Playgroud)

使用Javascript

document.getElementById('myButton').addEventListener('click', function() {
    alert('Hi!');
    prompt('What can I do for you?','make a Sandwich');
});
Run Code Online (Sandbox Code Playgroud)

演示