使用Javascript中的onclick方法
Working with the onclick method in Javascript
我是Javascript的新手,正在练习。我只是想使用onclick,当点击"战斗"按钮时,战斗功能就会运行。由于某种原因,fight函数没有运行,但我可以通过DOM获得按钮。
HTML
<!doctype html>
<html>
<head>
<title>Goal4: Assignment - Duel III</title>
<link rel="stylesheet" href="css/style.css">
</head>
<script src="js/main.js"></script>
<body>
<div id="scores">
<div id="kabal">
<p></p>
</div>
<div id="kratos">
<p></p>
</div>
<div class="clear"></div>
</div>
<div id="fight_box">
<div id="fight_btn">
<h4 id="round">Click To Start Fight</h4>
<a href="#" class="buttonblue">FIGHT!</a>
</div>
<div id="fight_bg">
<img src="images/fight_bg.png">
</div>
</div>
<script src="js/main.js"></script>
</body>
</html>
Javascript
/*
Name: Walker Kinne
Date: 12/1/13
Assignment: Goal1: Assignment: Duel1
*/
(function(){
console.log('program starts');
var button = document.getElementsByTagName('a');
console.log(button);
button.onclick = function(e){
fight();
e.preventDefault();
return false;
};
function fight(){
console.log("in the fight function");
var fighter1 = {name:'Spiderman', damage:20, health: 100};
var fighter2 = {name:'Batman', damage:20, health: 100};
var minDamage1 = fighter1.damage * .5;
var minDamage2 = fighter2.damage * .5;
var f1 = Math.floor(Math.random()*(fighter1.damage - minDamage1)+minDamage1);
var f2 = Math.floor(Math.random()*(fighter2.damage - minDamage2)+minDamage2);
console.log(fighter1.name);
// console.log(f1);
//console.log(f2);
fighter1.health -=f2;
fighter2.health -=f1;
console.log("player1:" + fighter1.health);
console.log("player2:" + fighter2.health);
var a = fighter1.health;
};
//console.log(playerOneName+":"+playerOneHealth+playerTwoName+":"+playerTwoHealth);
//var results = winnerCheck();
//console.log(results);
/*if(results === "no winner"){
document.getElementById("kabal").
//alert(fighter1[0]+":"+fighter1[2]+" ROUND"+round+" OVER"+fighter2[0]+":"+fighter2[2]);
}else{
alert(results);
break;
}
*/
/* End of fight function */
/*
function winnerCheck(){
console.log("winner check");
var result = "no winner";
if(fighter1[2]<1 && fighter2[2]<1){
result = "You Both Die";
}else if(fighter1[2]<1){
result= fighter2[0] + " wins!!";
}else if(fighter2[2]<1){
result = fighter1[0] + " wins!!";
};
return result;
};
'/******** Program Starts ********/
})();
button = document.getElementsByTagName('a');
返回元素的数组。请注意,该函数被称为"通过标记名称获取元素"。要绑定事件,需要使用单个元素,而不是元素数组,即使该数组恰好只包含一个元素。
而不是这样,它向数组中添加了一个属性。。。
button = document.getElementsByTagName('a');
button.onclick = function(e){
您需要这样做,它将onclick
处理程序添加到第一个(也是唯一一个)a
:
buttons = document.getElementsByTagName('a');
buttons[0].onclick = function(e){
请注意,一旦添加了第二个链接,就需要比getElementsByTagName
更具体的内容,因为buttons
数组将包含多个元素。请考虑为要查找的按钮添加唯一ID,然后使用getElementById
。
我会在代码中添加一个唯一的标识符,而不是唯一的的getElementsByTagName(a)
//这个代码应该可以帮助你完成
var button = document.getElementById('unique identifier');
button.onclick = function(e){
yourFN();
//dont forget your e.prevent, false info here
};
相关文章:
- 胸腺价值发送angularJS ng onclick方法
- 如何从该文本的 onclick 方法中更改 d3.js 文本输入
- 为什么我的按钮的 onClick() 方法没有用
- 使用Javascript中的onclick方法
- 无法在onclick方法中传递参数
- 在onclick方法上创建get方法
- JSP和带有Onclick方法的JSTL
- 使用 onClick 从 JavaScript 创建 html 按钮调用一个带有一个参数的方法
- Javascript,设置 onclick 方法语法
- ReactJS 从父组件的 onClick 方法更新对子组件的 ajax 调用
- 调用 onClick 方法之前的 ASP 警报文本
- Django,Dajax和Javascript - onclick不调用python方法
- 在 onclick 事件中使用参数调用方法
- Javascript 按钮 OnClick 找不到我想要的方法
- JavaScript onclick方法,将其附加到所有按钮
- 从 HTML 元素(如 onclick 处理程序)调用 RequireJs 模块中的方法
- 有没有其他方法可以在纯python中实现javascript的onClick()函数
- 调用类实例方法onclick javascript
- 使用方法 onclick () 触发一个函数,该函数打开它从单击按钮抓取的窗口
- 在React中访问父组件的方法onClick