0

次のコードは、<div1> がクリックされたときに <div3> を html に追加します。<div3> をクリックすると、テスト済みのすべての Web ブラウザー (iPhone を除く) でアラートが表示されます。Android で動作し、Safari/OSX で動作します:

<!doctype html>
<html>
<head>
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function () {
    $('#div1').on('click', function(e) { 
        $('#div2').html('<div id="div3">Now Click Me!</div>'); 
    });
    $('#div2').on('click', '#div3', function(e) { alert('OLA!'); }); 
});
</script>
</head>
<body>
<div id='div1' style='border:black 1px solid; background:yellow'>CLICK ME</div>
<div id='div2'  style='border:black 1px solid; background:yellow; font-size:48px'/>
</body>
</html>

ここで Safari/iPhone の動作が異なる理由と、この動作を回避する方法があるかどうかを知りたいと思っています。

4

1 に答える 1

0

わかりました、私は問題を見つけました。div3 は透明であるため、クリックは div3 に登録されません。背景色を div3 に追加すると、次のように機能します。

$('#div2').html('<div id="div3" style="background:pink;">Now Click Me!</div>'); 

助けてくれてありがとう。

于 2012-10-10T14:28:05.800 に答える