HTMLで入力フォームを作ってボタンクリックで値を更新するのを作っていたのですが。
onClickイベントを使用すると連打が出来ませんでした。
ようするに、onClickを使用するとダブルクリックと判断されるとイベントが発生しない訳です。
なので、onClickでは無く、onMouseUpを使用するべきなのです。
その他の回避としては、onClickとonDbClickの両方拾う方法もありますが、あまりスマートじゃないですね。
↓のサンプルの「onClickのみ」をダブルクリックすると1個しか値が更新されませんが、それ以外は2回更新されます。
以下コード
<Category : 開発>
onClickイベントを使用すると連打が出来ませんでした。
ようするに、onClickを使用するとダブルクリックと判断されるとイベントが発生しない訳です。
なので、onClickでは無く、onMouseUpを使用するべきなのです。
その他の回避としては、onClickとonDbClickの両方拾う方法もありますが、あまりスマートじゃないですね。
↓のサンプルの「onClickのみ」をダブルクリックすると1個しか値が更新されませんが、それ以外は2回更新されます。
以下コード
<script type="text/javascript" language="javascript">
<!--
function mouse_down(type){
// -->
</script>
<form action="#" method="post" name="form">
<input name="field" type="text" maxlength="10"><br>
<input type="button" value="onClickのみ" onclick="mouse_down(1)"><br>
<input type="button" value="onClickとonDbClick" onclick="mouse_down(2)" ondblclick="mouse_down(2)"><br>
<input type="button" value="onMouseUpのみ" onmouseup="mouse_down(3)"><br>
<input type="reset" value="Clear">
</form>
<!--
function mouse_down(type){
document.form.field.value = document.form.field.value + type + "";
}// -->
</script>
<form action="#" method="post" name="form">
<input name="field" type="text" maxlength="10"><br>
<input type="button" value="onClickのみ" onclick="mouse_down(1)"><br>
<input type="button" value="onClickとonDbClick" onclick="mouse_down(2)" ondblclick="mouse_down(2)"><br>
<input type="button" value="onMouseUpのみ" onmouseup="mouse_down(3)"><br>
<input type="reset" value="Clear">
</form>