5

コード:

function hello(){alert("Hi");}; 

<center> 
<table border="0" height="100%">
<tbody>
            <tr>
                <td align="center" width="100%">
                <img src="cover.png"
                    width="300" height="300" id="image"></img></td>
            </tr>
            <tr>
                <td height="100%">&nbsp;</td>
            </tr>
            <tr>
                <td align="center">
             <form onsubmit="go();return false">  
                        <input class="answer" id="answer" name="answer"
                             onclick="hello();"/>
                  </form> 
                </td>
            </tr>
            <tr>

            </tr>
        </tbody>
</table>
</center>

HTMLで回答テキストボックスがクリックされたときにキャプチャしようとしています。Firefox と Chrome では完全に動作します (Hi アラートは 1 つしか表示されません) が、Android の Web ビューでコードを実行しようとすると、onclick メソッドが 2 回起動します (Hi アラートが 2 つ表示されます)。ただし、後で同じ関数を呼び出すと、正常に動作し、Hi アラートは 1 つしか発生しません。

<div style="bottom: 0; right: 0; position:absolute;  margin-right:5%">
    <a><img alt="" src="start.png" id="submit" onclick="go();hello();"></a>
    </div>

フォーム内から関数を呼び出しているという事実と関係があると思いますが、どういうわけかイベントを2回発生させていますが、修正方法がわかりません。何か助けはありますか?

4

1 に答える 1

0

次のようにone()を使用してみてください。

$('#answer').one('click', function() {
    alert("Hi");
});

<form onsubmit="go();return false">  
   <input class="answer" id="answer" name="answer"/>
</form>
于 2012-12-04T16:46:09.707 に答える