我有<button>
onclick
功能。我需要将一个参数传递给这样的函数:
function go(id){
dosomething();
}
但我不知道为什么,在firefox <button>
按下时会在表单上执行提交。
所以我需要阻止默认行为,但我不知道如何在不传递event
参数的情况下执行此操作。我不知道如何传递一个参数和事件参数来共同运作。
return false;
不要对我工作。
我有这个:
<button id="qtd" class="btn btnqtdmais inline qtdinputbtn" onclick="soma(<?=$item['dados']['id']?>)">+</button>
功能:
function soma(id){
dosomething();
}
答案 0 :(得分:4)
事件参数应始终为最后一次
function myfunction (id, event) {
event.preventDefault();
dosomething();
return false;
}
像这样调用函数
button.onclick = function(e) { myfunction(id, e) };
或
<button id="qtd" class="btn btnqtdmais inline qtdinputbtn" onclick="soma(<?=$item['dados']['id']?>, event)">+</button>
注意:我在Firefox上尝试了两次成功。
firefox事件行为非常奇怪,你必须明确传递事件参数或它不会工作,不像chrome和dare我说MS这将没有参数
function myfunction (id) {
event.preventDefault();
dosomething();
return false;
}
修改强> 这也有效
function soma (event, id) {
event.preventDefault();
dosomething();
return false;
}
<button id="qtd" class="btn btnqtdmais inline qtdinputbtn" onclick="soma(event, <?=$item['dados']['id']?>)">+</button>
答案 1 :(得分:1)
尝试使用onclick="this.preventDefault(); go(id);"
答案 2 :(得分:1)
您可以尝试使用一些javascript来取消按钮的默认操作
if (form.addEventListener) {
return form.addEventListener('submit', function(e) {
return e.preventDefault();
}, true);
}
答案 3 :(得分:1)
Html代码:
<button type="button" id="btn1" onclick="return handleButton(event,'btnSearch');"/>
JavaScript代码:
function handleButton(event, searchButtonId) {
event = event || window.event;
if (event.keyCode == 13) {
alert("Enter key pressed");
}
}
您必须将event参数作为第一个参数传递给函数。 希望它能解决你的问题。