JSFiddle - React, Tailwind, and code Playground
HTML
請選擇一名英雄:
<select id="heros" onchange="selectedHero()">
<option value="no1" >易大師</option>
<option value="no2" >卡特蓮娜</option>
</select><br/><br/><br/>
<button id="Q">Q 技能</button>
<button id="W">W 技能</button>
<button id="E">E 技能</button>
<button id="R">R 技能</button>
<h2 id='demo'></h2>
<script>
//角色原型
function Character(name) {
this.name = name;
}
//定義 英雄 共通技能
var Hero = {
skillQ : function(){
return this.name + ' 使用了 Q 技能。';
},
skillW : function(){
return this.name + ' 使用了 W 技能。';
},
skillE : function(){
return this.name + ' 使用了 E 技能。';
},
skillR : function(){
return this.name + ' 使用了大絕招。';
}
};
// 將 Hero 的 技能繫結到 Character 身上
Character.prototype = Object.create(Hero);
//建立實體英雄角色
var hero01 = new Character('易大師');
var hero02 = new Character('卡特蓮娜');
var Champion = hero01;
function selectedHero(){
if(document.getElementById('heros').value == 'no1')
Champion = hero01;
if(document.getElementById('heros').value == 'no2')
Champion = hero02;
// 在 console 印出選擇了哪個英雄 (no1 或是 no2)
console.log(document.getElementById('heros').value);
};
document.getElementById('Q').addEventListener('click', function() {
document.getElementById("demo").innerHTML =
Champion.skillQ();
});
document.getElementById('W').addEventListener('click', function() {
document.getElementById("demo").innerHTML =
Champion.skillW();
});
document.getElementById('E').addEventListener('click', function() {
document.getElementById("demo").innerHTML =
Champion.skillE();
});
document.getElementById('R').addEventListener('click', function() {
document.getElementById("demo").innerHTML =
Champion.skillR();
});
</script>