我在使用JavaScript处理Windows应用商店应用时遇到了这个问题,但它在IE中也可以重现。
下面是我实际实现的一个非常简化的版本。单击图像以外的任何位置时会显示警报。但是当点击图像时,事件仅每隔一次触发一次。我在第一次点击时获得调整大小的装饰,但事件似乎没有被正确触发。
有谁知道为什么以及如何预防这种情况?我想知道图像是在第一次点击时选择的。
<html>
<body>
<div id="outerEditor">
<div id="innerEditor" contenteditable="true">
<img src="test.png" />
</div>
</div>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.0.min.js"></script>
<script>
$(document).ready(function(){
$("#outerEditor").click( function(){
alert("click");
});
});
</script>
</body>
</html>
添加了一个JSFiddle来显示问题:http://jsfiddle.net/72aH8/3/
答案 0 :(得分:1)
您应该将点击事件从CLICK更改为MOUSEDOWN。
<html>
<body>
<div id="outerEditor">
<div id="innerEditor" contenteditable="true">
<img src="test.png" />
</div>
</div>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.0.min.js"></script>
<script>
$(document).ready(function(){
$("#outerEditor").mousedown( function(){
alert("click");
});
});
</script>
</body>
答案 1 :(得分:0)
您的错误必须在其他地方,它适用于img样式:
img {
width: 100px;
height: 100px;
background: red;
}