在 js 中使用 setCapture() 的问题
issue with setCapture() in js
<HTML>
<HEAD>
<TITLE>Mouse Capture</TITLE>
<SCRIPT>
function action() {
if (event.srcElement.id=='DIV1') DIV1.releaseCapture();
else DIV1.style.backgroundColor=Math.floor(Math.random()*16777216);
}
</SCRIPT>
</HEAD>
<BODY onload="DIV1.setCapture();">
<DIV ID="DIV1" onclick="action();" STYLE="position:absolute;top:10;left:10;height:100;width:200;background-color:red">
</DIV>
</BODY>
</HTML>
上面的代码取自: http://www.htmlgoodies.com/beyond/javascript/advanced-javascript-event-handling.html
问题:
我在IE中试过了,我点击了某个区域(不是DIV1(,颜色变了,我再点击,颜色没有改变,好像颜色只能改变一次,为什么?
这是更改的代码,每次您在 DIV 外部单击时都会更改颜色,我移动到 onclick 到正文。
<HTML>
<HEAD>
<TITLE>Mouse Capture</TITLE>
<SCRIPT>
function action() {
if (event.srcElement.id=='DIV1') {
DIV1.releaseCapture();
}
else {
DIV1.style.backgroundColor=Math.floor(Math.random()*16777216);
}
}
</SCRIPT>
</HEAD>
<BODY onload="DIV1.setCapture();" onclick="action();">
<DIV ID="DIV1" STYLE="position:absolute;top:10;left:10;height:100;width:200;background-color:red" >
</DIV>
</BODY>
</HTML>
这是另一种选择,代码更简单,也适用于谷歌浏览器
<HTML>
<HEAD>
<TITLE>Mouse Capture</TITLE>
<SCRIPT>
function action() {
if (event.srcElement.id != 'DIV1') {
document.getElementById('DIV1').style.backgroundColor = get_random_color();
}
}
function get_random_color() {
var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++ ) {
color += letters[Math.round(Math.random() * 15)];
}
return color;
}
</SCRIPT>
</HEAD>
<BODY onclick="action();">
<DIV ID="DIV1" STYLE="position:absolute;top:10;left:10;height:100;width:200;background-color:red" >
</DIV>
</BODY>
</HTML>
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Safari(Mac OS)上的jQuery平滑滚动问题
- jqGrid树网格问题
- 使用正则表达式评估电子邮件地址时出现性能问题
- 如何消除代码中的未定义和其他问题
- JavaScript代码问题:我正在将对象转换为数组
- 三星智能电视应用程序;Brightcove示例应用程序远程控制问题
- 由于iframe导致的问题
- ReactJS和SpringDataRest缓存问题可能与websocket有关
- 在 js 中使用 setCapture() 的问题