【发布时间】:2012-06-22 16:33:13
【问题描述】:
目前脚本是这样的:
- 点击链接编辑链接,使输入可见
- 点击下一步/在链接之前通过使输入可见来编辑链接
我希望当您单击一次链接时不要编辑而是在新窗口中打开页面,并且当您单击两次时进行编辑。
这是脚本:
【问题讨论】:
-
用
dblclick()替换.click()?
标签: javascript jquery jquery-ui
目前脚本是这样的:
我希望当您单击一次链接时不要编辑而是在新窗口中打开页面,并且当您单击两次时进行编辑。
这是脚本:
【问题讨论】:
dblclick()替换.click()?
标签: javascript jquery jquery-ui
http://jsfiddle.net/jaspermogg/pFyNY/1/ - 您可以双击 div 进行编辑,或单击链接打开。这就是你想要的?
$('.a0').dblclick(function(e){
e.preventDefault();
$(this).parent().find('input').val($(this).find('a').text()).show().focus();
$(this).hide();
})
$('#url0, #url1').each(
function(index, element){
$(element).blur(function(){
$(this).hide().prev().show().find('a').html(this.value);
})
}
);
这是一个 jsFiddle,它将 a 的 href 更改为您将其编辑为的值,以防万一您接下来要尝试这样做:-) http://jsfiddle.net/jaspermogg/pFyNY/2/
这是你想要的 jsFiddle - http://jsfiddle.net/jaspermogg/pFyNY/5/
JS-
$('.a0 a').click(function(){
var href = $(this).attr('href');
// Redirect only after 500 milliseconds (CHANGE THE 500 IN THE CODE TO DETERMINE HOW LONG THE USER GETS TO DBLCLICK)
if (!$(this).data('timer')) {
$(this).data('timer', setTimeout(function () {
window.location = href;
}, 500));
}
return false; // Prevent default action (redirecting)
});
$('.a0').dblclick(function(){
clearTimeout($(this).find('a').data('timer'));
$(this).find('a').data('timer', null);
$(this).parent().find('input').val($(this).find('a').text()).show().focus();
$(this).hide();
})
$('#url0, #url1').each(
function(index, element){
$(element).blur(function(){
$(this).hide().prev().show().find('a').html(this.value);
})
}
);
【讨论】:
使用target="_blank" 属性在新页面中打开链接。
<a target="_blank" href="dsad.cas">dsad.cas</a>
并使用jquery的.dblclick函数编辑链接
$('.a0').dblclick(function(e){
e.preventDefault();
$(this).parent().find('input').val($(this).find('a').text()).show().focus();
$(this).hide();
})
$('#url0, #url1').each(
function(index, element){
$(element).blur(function(){
$(this).hide().prev().show().find('a').html(this.value);
})
}
);
这里是Demo
【讨论】: