onclick中的新功能

时间:2015-06-30 05:50:39

标签: javascript html button onclick

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

我想这样做:

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

显然这不起作用。

你知道我怎么能这样做吗?

如何“召唤”新功能?

我不能简单地在<script></script> - 节点中定义它。

3 个答案:

答案 0 :(得分:5)

您不需要function来致电。您可以直接使用Javascript代码。这被认为是不好的做法。

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

Demo

您还可以使用function作为事件处理程序,如下所示:

<强> HTML

<button onclick="fnHandler();">
    Hello World!
</button>

<强>的Javascript

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

Demo

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

<强> HTML

<button id="myButton">
    Hello World!
</button>

<强>的Javascript

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

Demo

答案 1 :(得分:2)

不建议在参数内写入函数。最好将它们写在一个单独的函数上,然后将其与上面监听的方法之一链接起来。你仍然可以使用像这样的anonimous函数来执行你在示例中所说的内容:

<button onclick='(function(){
    alert("hello world");
    prompt("I am the Doctor","oh yeah");
})()'></button>

答案 2 :(得分:1)

更新了常规功能的版本,因为添加列表器会为点击添加唯一性

<button onclick="function_name() id="button">Some Text</button>

现在在js中编写函数定义

function function_name(){ .... statements; }

使用if-else

的典型示例

<script>
document.getElementById('button').onclick = function() {
    if (Calc.Input.value == '' || Calc.Input.value == '0') {
         window.alert("Please enter a number");
    } else {
        document.getElementById('button').value=' Justera längd ';
        
    }
    return false;
}
</script>