我想这样做:
<button onclick="function() {alert('Hi!');prompt('What can I do for you?', 'make a Sandwich');}">Hello World!</button>
显然这不起作用。
你知道我怎么能这样做吗?
如何“召唤”新功能?
我不能简单地在<script></script>
- 节点中定义它。
答案 0 :(得分:5)
您不需要function
来致电。您可以直接使用Javascript代码。这被认为是不好的做法。
<button onclick="alert('Hi!'); prompt('What can I do for you?','make a Sandwich');">
Hello World!
</button>
您还可以使用function
作为事件处理程序,如下所示:
<强> HTML 强>
<button onclick="fnHandler();">
Hello World!
</button>
<强>的Javascript 强>
function fnHandler() {
alert('Hi!');
prompt('What can I do for you?','make a Sandwich');
}
使用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');
});
答案 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>