- 浏览: 1661154 次
- 性别:
- 来自: 福州
-
文章分类
- 全部博客 (583)
- strust2.0 (14)
- hibernate2.0 (5)
- java (13)
- javaScript (59)
- AJAX (8)
- TFS (6)
- 其它 (20)
- CSS (23)
- asp (18)
- Dojo (5)
- 项目管理 (3)
- SQLServer (25)
- oracle (26)
- .NET (221)
- 开源系统 (6)
- 常识 (41)
- 软件架构 (1)
- My SQL (1)
- SilverLight (10)
- Flex (1)
- window7 (1)
- 网络安全 (2)
- CMS (1)
- ECShop (4)
- 邮件系统 (9)
- Linq (0)
- 淘宝店铺经营宝典 (0)
- flash插件 (1)
- Hubble.net全文检索 (1)
- 在线编辑器 (1)
- 正则表达式 (1)
- 创业 (1)
- asp.net mvc (1)
- 全文检索 (0)
- 全文检索 HubbleDotNet (1)
- Android (27)
- TFS bin (1)
最新评论
-
z小小Jean:
有具体的解决方法吗
用命名imp导入DMP时报无法解析指定的连接标识符的解决办法 -
njoiop:
这些都是常用接口,IP地址、手机归属和身份证查询接口,基站定位 ...
IP地址、手机归属和身份证查询接口 -
Fs_sky:
那导出DMP如何包含序列等其他东西?
在plsql中如何导出dmp文件 -
qiywtc:
请问该怎么判断视频的格式再选择对应的播放格式来播放啊?
asp.net各种类型视频播放代码(全) -
xinghenhouzi:
楼主说的版本不同无法导入导出是什么意思?我用10g的exp.e ...
在plsql中如何导出dmp文件
web开发和windows开发最大的区别就是windows开发是有状态的,而web开发是无状态的,在windows中,一切操作都可以由程序来控制 ,除非强制执行ctrl+alt+del;但web操作就不一样了,即使执行很重要的操作,用户一点击浏览器关闭按钮,就将前面操作成果化为乌有.尽管可以在onunload事件中加些代码,让用户可以选择是否退出,但不能从根本上解决问题!
前几天,从网上看到setCapture方法,了解了一下,大体是这样的意思,当在IE文档某个区域中使用了这个方法,并且写了onclick或者onmouse***等有关的鼠标事件方法,那么它就会监视相应的鼠标操作,即使你的鼠标移出了IE,它也一样能捕获到.如果你在某div中的onclick事件中写了一个alert命令,这时,你点击的关闭按钮,它也一样会弹出alert窗口.releaseCapture与setCapture方法相反,释放鼠标监控.
利用这个特性,我们可以延缓IE的关闭窗口等破坏性操作,将一些重要的操作能够在破坏性操作执行之前得到处理.
有一点遗憾:setCapture和releaseCapture 不支持键盘事件.只对onmousedown, onmouseup, onmousemove, onclick, ondblclick, onmouseover, onmouseout这样的鼠标事件起作用.
下面是一个小例子,若我们要对divMain这个div元素里面的内容进行保护:
1). 对divMain执行setCapture方法:
document.getElementById("divMain").setCapture();
2).加入一按钮btnChange,可以进行setCapture和releaseCapture切换,定义一全局变量;
var isFreeze = true;
3).在btnChange的onclick事件中,加入下列代码:
4).divMain的onclick事件中,加入下列代码:
5).对ALT+F4进行处理,在body的onkeydown事件中加入下列代码:
完整代码如下:
转自:http://blog.csdn.net/redleaf1995/archive/2008/03/06/2154784.aspx
前几天,从网上看到setCapture方法,了解了一下,大体是这样的意思,当在IE文档某个区域中使用了这个方法,并且写了onclick或者onmouse***等有关的鼠标事件方法,那么它就会监视相应的鼠标操作,即使你的鼠标移出了IE,它也一样能捕获到.如果你在某div中的onclick事件中写了一个alert命令,这时,你点击的关闭按钮,它也一样会弹出alert窗口.releaseCapture与setCapture方法相反,释放鼠标监控.
利用这个特性,我们可以延缓IE的关闭窗口等破坏性操作,将一些重要的操作能够在破坏性操作执行之前得到处理.
有一点遗憾:setCapture和releaseCapture 不支持键盘事件.只对onmousedown, onmouseup, onmousemove, onclick, ondblclick, onmouseover, onmouseout这样的鼠标事件起作用.
下面是一个小例子,若我们要对divMain这个div元素里面的内容进行保护:
1). 对divMain执行setCapture方法:
document.getElementById("divMain").setCapture();
2).加入一按钮btnChange,可以进行setCapture和releaseCapture切换,定义一全局变量;
var isFreeze = true;
3).在btnChange的onclick事件中,加入下列代码:
function change_capture(obj) { isFreeze = !isFreeze; if(isFreeze) { obj.value = "releaseCapture"; document.getElementById("divMain").setCapture(); } else { obj.value = "setCapture"; alert('保存!'); //可以执行重要操作 document.getElementById("divMain").releaseCapture(); } }
4).divMain的onclick事件中,加入下列代码:
function click_func() { if(event.srcElement.id == "divMain") { alert("处理中..."); //常规操作 document.getElementById("divMain").setCapture(); } else { if(isFreeze && event.srcElement.id != "btnChange") { alert('未执行releaseCapture,不能点击'); document.getElementById("divMain").setCapture(); } } }
5).对ALT+F4进行处理,在body的onkeydown事件中加入下列代码:
function keydown_func() { if (event.keyCode==115 && event.altKey) //ALT+F4 { if(isFreeze) { alert('保存!'); //可以执行重要操作 } //window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px"); //return false; } document.getElementById("divMain").setCapture(); }
完整代码如下:
<HTML> <head> <title>setCapture和releaseCapture的小应用</title> <SCRIPT LANGUAGE="JavaScript">... <!-- var isFreeze = true; function click_func() { if(event.srcElement.id == "divMain") { alert("处理中..."); //常规操作 document.getElementById("divMain").setCapture(); } else { if(isFreeze && event.srcElement.id != "btnChange") { alert('未执行releaseCapture,不能点击'); document.getElementById("divMain").setCapture(); } } } function keydown_func() { if (event.keyCode==115 && event.altKey) //ALT+F4 { if(isFreeze) { alert('保存!'); //可以执行重要操作 } //window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px"); //return false; } document.getElementById("divMain").setCapture(); } function change_capture(obj) { isFreeze = !isFreeze; if(isFreeze) { obj.value = "releaseCapture"; document.getElementById("divMain").setCapture(); } else { obj.value = "setCapture"; alert('保存!'); //可以执行重要操作 document.getElementById("divMain").releaseCapture(); } } //--> </SCRIPT> </head> <BODY onkeydown="keydown_func();"> <div id="divMain" style="width:500px;height:400px;border:1px solid #999;padding:2px" onclick="click_func();"> 点一下IE的菜单或者按钮看看:) 又或者IE窗口外的地方 <input type="button" value="releaseCapture" onclick="change_capture(this);" id="btnChange"> <script language="javascript">... document.getElementById("divMain").setCapture(); </script> </div> </BODY> </HTML>
转自:http://blog.csdn.net/redleaf1995/archive/2008/03/06/2154784.aspx
发表评论
-
【转】让网页实现多首背景音乐循环播放的方法
2012-07-23 17:56 2902第一步,加播放器的代码(不用别人做的JS播放器)。 < ... -
文本框中加入文字提示
2011-09-09 15:49 1583HTML <input type="tex ... -
【转】jQuery插件推荐:集合多种过渡效果幻灯片插件 Nivo Slider
2011-08-29 14:18 1575这款jQuery插件Nivo Slider,除了一般该有的参数 ... -
使用Google Map API时提示此网站需要其他的Google地图API密钥,解决办法
2011-08-29 14:12 5262如果需要在网站或系统中嵌入Google地图,那么你需要到htt ... -
网页FLASH幻灯片播放带链接源代码 pixviewer.swf使用
2011-01-11 14:40 3345<script type="text/ja ... -
JavaScript实现网页打印,可设置页眉、页脚、页边距
2010-05-25 11:49 4818WebBrowser是IE内置的浏览 ... -
iframe刷新父窗口
2010-05-13 15:05 3211parent.location.reload();或 ... -
jquery全选/取消选择checkbox
2010-04-22 17:01 2431<input type="checkbox ... -
JavaScript的window.open如何使窗体最大化?
2010-01-27 17:04 2966"<a href=\"#\&qu ... -
js中innerHTML,innerText,outerHTML的用法和区别
2010-01-25 16:10 3434用法: <div id="test" ... -
JavaScript之appendChild VS insertBefore
2010-01-23 17:07 1390我们知道appendChild和insertBefore都有插 ... -
javascript对话框showModalDialog()、showModelessDialog()
2010-01-18 17:41 2674Javascript有许多内建的方 ... -
Iframe自适应高度控制
2010-01-13 11:54 1416<iframe width="778&qu ... -
用javascript 控制<select>跳转页面
2009-12-01 09:09 3584先看下图: 图S1是用标 ... -
js 实现在离开页面时,对未保存的信息进行提醒
2009-11-20 09:40 2806js代码 <script language=&quo ... -
根据页面的内容,动态设置iframe的高度使其不出现滚动条
2009-09-25 12:24 3495<iframe id="treeFrame ... -
刷新后保持页面滚动条位置javascript
2009-09-25 12:05 5847在一个很长的列表中进行操作,当用户触发PostBack事件的时 ... -
实现js的replaceAll方法
2009-09-19 16:16 2900js不提供replaceAll方法,要用正规表达式实现 S ... -
js实现合成语音阅读
2009-08-19 16:06 7470引用 这是我一直在策 ... -
js 判断输入是否是数字的最简单的方法
2009-08-12 15:47 2120<input name="chapterN ...
相关推荐
在JavaScript中,`setCapture` 和 `releaseCapture` 是两个高级拖动技术中涉及的关键方法,主要用于处理鼠标事件的捕获。这两个方法主要用于在复杂的用户交互场景,特别是拖放操作时,确保事件处理的准确性和效率。...
HTML中的`setCapture`和`releaseCapture`是两个在Internet Explorer浏览器中特有的API,用于管理和控制鼠标事件的处理。这两个方法主要用于在拖动操作或需要持续监听鼠标事件时,确保事件能够正确地被目标元素捕获,...
在本文中,我们将深入探讨如何在IE8浏览器中解决iframe的拖拽事件问题,特别是利用IE特有的`setCapture`和`releaseCapture`方法。 首先,我们要明白在现代浏览器如Chrome中,实现拖拽功能相对简单,通常可以使用...
3. **SetCapture和ReleaseCapture方法**:在VB中没有直接的SetCapture和ReleaseCapture方法,但在WinAPI(Windows API)中提供了这样的功能。我们需要使用Declare语句引入这些API函数,然后在代码中调用它们来捕捉和...
在拾色器应用中,SetCapture可能用于在用户点击屏幕时捕获当前鼠标位置的颜色,而ReleaseCapture则在操作完成后释放捕获,防止干扰其他程序。 "StretchBlt"是另一个重要的Windows API函数,用于在设备上下文中执行...
在实现拖动效果时,`setCapture` 和 `releaseCapture` 是两个重要的方法,它们主要用于处理鼠标事件的捕获与释放。下面将详细介绍这两个方法以及如何在拖动技术中应用它们。 `setCapture` 方法是HTML元素的一个属性...
本篇文章将深入探讨如何在VC++环境下利用API函数`SetCapture()`和`ReleaseCapture()`来实现鼠标捕捉功能。 首先,理解鼠标捕捉的概念:当一个窗口捕获了鼠标,所有的鼠标输入(包括鼠标移动和按钮点击)都将被该...
当使用setCapture方法将事件捕获后,该方法会将鼠标事件的监听器应用到整个文档的范围内,这意味着在这个对象之外发生的鼠标事件也将被捕获。但是,当不再需要事件捕获的时候,必须调用releaseCapture方法来释放这个...
开发者可以利用API函数,如SetCapture和ReleaseCapture,来捕获和释放鼠标输入。当捕获窗口时,所有鼠标事件都会被该窗口接收,即使鼠标移动到窗口外部也是如此。通过这种方式,我们可以创建一个虚拟的“活动区域”...
在IE中使用`setCapture`和`releaseCapture`,在其他遵循W3C标准的浏览器中使用`window.captureEvents`和`window.releaseEvents`。 需要注意的是,虽然事件捕获在某些情况下非常有用,但它也可能导致性能问题,因为...
分析这些源码可以更深入地理解这个过程,包括如何获取窗口句柄、如何计算移动的距离和速度、以及如何协调`SetCapture`和`ReleaseCapture`的使用。对于学习易语言和Windows GUI编程的开发者来说,这是一个宝贵的实践...
本文将深入探讨如何使用易语言解决在捕获鼠标时获取鼠标位置的问题,以及相关函数`SetCapture`和`ReleaseCapture`的使用方法。 首先,我们来理解“捕获鼠标”的概念。捕获鼠标意味着在程序运行期间,即使鼠标离开了...
2. **SetCapture和ReleaseCapture**:SetCapture用于开始捕获鼠标,ReleaseCapture则用于结束捕获。捕获开始后,所有鼠标消息(除了左键和右键单击)都会发送到捕获窗口,直到释放捕获。 3. **GetCapture的作用**:...
4. **SetCapture和ReleaseCapture**:这两个函数是Windows API中的关键部分,它们用于捕获和释放鼠标的输入。在实现吸附功能时,SetCapture可以确保鼠标移动时的事件都由当前窗口接收,即使鼠标离开了窗口边界,这样...
"SetCapture"和"ReleaseCapture"是Windows API中的两个关键函数,它们在易语言中同样可以使用。这两个函数涉及到窗口的消息捕获机制。`SetCapture`函数允许一个窗口捕获所有鼠标输入,即使鼠标离开了该窗口的边界,...
4. 鼠标拖放操作:可能需要结合SetCapture和ReleaseCapture函数来捕获和释放鼠标,以及MoveToEx和LineTo函数来绘制拖动轨迹。 5. 处理用户输入:程序需要监听键盘事件,如按键按下,然后根据用户的输入指令执行相应...
综上所述,掌握`SetCapture`和`ReleaseCapture`的使用,以及理解逻辑坐标和设备坐标之间的转换,对于创建具有高度交互性的VC++应用程序至关重要。在实际开发中,你可以参考提供的源代码(cvery.comvc23788224)学习...
调色板是编程中常见的元素,尤其是在图形用户界面(GUI)设计中,它可以帮助开发者快速选取和应用所需的色彩。 源码的分享通常是为了学习和研究目的,对于易语言调色板源码,我们可以从中学习到以下几个关键知识点...
例如,GetAsyncKeyState获取按键状态,GetCursorPos获取鼠标位置,SetCapture和ReleaseCapture用于捕获和释放鼠标。 5. **内存管理**:Windows API提供了动态内存分配和释放的函数,如GlobalAlloc、LocalAlloc、...