我是Javascript的新手,我遇到了一些大问题。我有一些功能,我可以在文本字段中输入并按回车键,功能正常。但我创建了4个按钮,我想连接到动作..我有4个动作:" UP"," DOWN"," LEFT"和"正确"。
这是我的代码中的js小提琴:http://jsfiddle.net/n24gQ/
我已经制作了这样的按钮,但我不知道在OnClick标签内写什么?
<div id="gamebuttons">
<button id="up" button onClick="">UP</button>
<button id="down" button onClick="">DOWN</button>
<button id="left" button onClick="">LEFT</button>
<button id="right" button onClick="">RIGHT</button>
</div>
我希望你能理解我的问题是什么。我做了4个javascript案例,如果可能的话,我想绑定到4个html按钮。:)这是案例:&#34; frem&#34; &#34; tilbage&#34; &#34; hoejre&#34;和&#34; venstre&#34;我需要绑定..对不起,代码中的所有内容都不是英文,但它应该是可以理解的..
答案 0 :(得分:1)
<强> Fiddle 强>
您只需将您为按钮定义的功能名称写入onclick属性,例如:像这样:
<button id="up" type="button" onclick="alert('UP'); return false;">UP</button>
但是,由于您的按钮已经有ID,您还可以检查其中一个ID是否已被点击,而无需在标记中添加 onclick :
<强> JavaScript的:强>
var buttonUp = document.getElementById('up');
buttonUp.onclick = function() { myFunction(); return false; }
<强> jQuery的:强>
$('#up').on('click', myFunction());
答案 1 :(得分:1)
我不会在每个按钮上使用内联处理程序(错误练习)或多个处理程序,而是在按钮包装器上使用事件委托,就像这样
$('#gamebuttons').on('click', 'button', function() {
/* get the id attribute of the clicked button */
var button_id = this.id;
case (button_id) {
"UP" : /* code for up button */ break;
"DOWN" : /* code for down button */ break;
"LEFT" : /* code for left button */ break;
"RIGHT" : /* code for right button */ break;
}
});
答案 2 :(得分:0)
请在OnClick标记内传递函数名称
例如,如果您想将 playGame 功能与DOWN按钮相关联 写
<button id="down" onclick="playGame();">DOWN</button>
答案 3 :(得分:0)
我认为以下这些变化将为您提供解决方案。
您需要将事件绑定到所需的所有按钮,而不是第一个按钮。目前,indexPairs(1,2)
只获得第一个绑定事件的按钮。因此,请使用querySelector()
替换此代码
querySelectorAll()
使用以下代码
var button = document.querySelector("button");
button.style.cursor = "pointer";
button.addEventListener("click", clickHandler, false);
button.addEventListener("mousedown", mousedownHandler, false);
button.addEventListener("mouseout", mouseoutHandler, false);