双击事件时候第一次单击会被屏蔽但是第二次不会,经常会导致双击事件变为双击事件加一次单击事件,解决的方法是消除掉多余的一次单击事件。
成都创新互联公司是一家专注于成都网站建设、做网站与策划设计,洞头网站建设哪家好?成都创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:洞头等地区。洞头做网站价格咨询:18980820575
工具原料:编辑器、浏览器
1、实现防止双击事件时不触发单击事件的简单代码示例如下:
//定义setTimeout执行方法
var time = null;
$('div').click(function () {
// 取消上次延时未执行的方法
clearTimeout(time);
//执行延时
time = setTimeout(function(){
//do function在此处写单击事件要执行的代码
},300);
});
$('div').dblclick(functin () {
// 取消上次延时未执行的方法
clearTimeout(time);
//双击事件的执行代码
});
2、以上方案可以解决双击事件带来的单击事件触发。
$("table 手续费td").dbclick(function(){
var td = $(this);
// 根据表格文本创建文本框 并加入表表中--文本框的样式自己调整
var text = td.text();
var txt = $("input type='text'").val(text);
txt.blur(function(){
// 失去焦点,保存值。于服务器交互自己再写,最好ajax
var newText = $(this).val();
// 移除文本框,显示新值
$(this).remove();
td.text(newText);
});
td.text("");
td.append(txt);
});
这个比较容易,有2种方案:
1、双击事件后,隐藏表格td之间的内容,插入一个input
/
,然后就可以编辑了。
2、双击事件后,讲当前表格td的contenteditable属性修改为true,当前
td
就可以编辑了。
如果你不理解
第2种方案,你可以测试这个代码:
div
contenteditable="true"可编辑的,你可以在这里写字/div
------------------------------------------
谢谢,要设为最佳哦,^_*
mouseover事件于用户把鼠标从一个元素移动到另外一个元素上时触发,mouseout事件于用户把鼠标移出一个元素时触发。\x0d\x0a下面为你详细介绍下jquery中的鼠标事件:\x0d\x0a(1):click事件:click事件于用户在元素敲击鼠标左键,并在相同元素上松开左键时触发;\x0d\x0a$('p').click(function(){\x0d\x0aalert('click function is running\x0d\x0a!');\x0d\x0a});\x0d\x0a(2):dbclick事件:dbclick事件在用户完成迅速连续的两次点击之后触发,双击的速度取决于操作系统的设置。一般双击事件在页面中不经常使用;\x0d\x0a$('p').dbclick(function(){\x0d\x0aalert('dbclick function is running\x0d\x0a!');\x0d\x0a});\x0d\x0a(3):mousedown事件:mousedown事件在用户敲击鼠标键时触发,跟keydown事件不一样,该事件仅在按下鼠标时触发;\x0d\x0a$('p').mousedown(function(){\x0d\x0aalert('mousedown function is\x0d\x0arunning !');\x0d\x0a});\x0d\x0a(4):mouseup事件:mouseup事件在用户松开鼠标时触发,如果在与按下鼠标的元素相同元素上松开,那么click事件也会触发;\x0d\x0a$('p').mouseup(function(){\x0d\x0aalert('mouseup function is running\x0d\x0a!');\x0d\x0a}).click(function(){\x0d\x0aalert('click\x0d\x0afunction is running too !');\x0d\x0a});\x0d\x0a(5):mouseover事件:mouseover事件于用户把鼠标从一个元素移动到另外一个元素上时触发,如果需要知道来自那个元素可以使用,relatedTagrget属性;\x0d\x0a(6):mouseout事件:mouseout事件于用户把鼠标移出一个元素时触发,这包括从父元素移动到子元素上,或者使用键盘跳到元素上。
!DOCTYPE html
html lang="en"
head
meta charset="UTF-8"
/head
body
button id="in"双击进入全屏/button
button id="out"双击退出全屏/button
script src=""
/script
script type="text/javascript"
$(function () {
$("body").on("dblclick", "#in", function () {
requestFullScreen();
});
$("body").on("dblclick", "#out", function () {
exitFullscreen();
});
//进入全屏
function requestFullScreen() {
var de = document.documentElement;
if (de.requestFullscreen) {
de.requestFullscreen();
} else if (de.mozRequestFullScreen) {
de.mozRequestFullScreen();
} else if (de.webkitRequestFullScreen) {
de.webkitRequestFullScreen();
}
}
//退出全屏
function exitFullscreen() {
var de = document;
if (de.exitFullscreen) {
de.exitFullscreen();
} else if (de.mozCancelFullScreen) {
de.mozCancelFullScreen();
} else if (de.webkitCancelFullScreen) {
de.webkitCancelFullScreen();
}
}
});
/script
/body
/html
效果图
最新版的jcrop接口只提供了 四种事件
crop.activate Active widget has changed
crop.update Widget dragging or resizing (frequent!)
crop.change Widget dragging or resizing finished
crop.remove Widget removed from stage
双击事件的话可以使用
jcp.listen("dblclick", (widget, e) = { console.log(e);})
来捕捉事件,但这个widget一直是undefined,没法直接获取到当前widget,
但是可以获取直接获取当前活动的widget(stage.active)
位置就在active.pos
老版本的jcrop 直接在onDblClick绑定事件就好