2010-07-19 71 views
1

我用这个javascript来编辑文本:http://josephscott.org/code/javascript/jquery-edit-in-place现在我需要编辑链接。但是当我点击链接而不是仅仅使其可编辑时,我被重定向到链接地址。我怎样才能改变它,如果双击一个链接只是使它可编辑,不要在任何地方重定向?编辑链接到位

任何人都可以请帮忙吗?

+0

你的意思是你想跟随'click'上的链接并在'doubleclick'上编辑它?这是不可能的,因为双击也总是发出点击事件。 – 2010-07-19 16:56:27

+0

是的,这是可能的! http://wordpress.org/extend/plugins/front-end-editor/这个插件这样做,但我的网站不能在wordpress上工作... – 2010-07-19 17:00:59

回答

3

使用dblclick事件和preventDefault方法

$('a_selector').eip("save.php", { 
    form_type: "textarea" 
}); 

$('a_selector').dblclick(function(e){ 
    e.preventDefault(); 
}) 

更新 与插件有点玩弄左右后..

我相信它本身可以设置其启动事件编辑..

$('a').eip('save.php', { 
     form_type : 'textarea', 
     edit_event : 'dblclick' 
    }); 

但我不知道他们正确处理的目标元素是一个链接的情况下,因为我没有在他们的代码中看到任何企图停止默认行为..

也许你可以修改源代码并添加它自己..

+0

仍然无法阻止通过双击进入链接... – 2010-07-19 17:27:01

1

您需要覆盖默认的链接行为,然后触发就地编辑代码。

$("a").click(function(){ 
    //whatever you have to call to make it editable 
    return false; //prevent the link from being followed 
}); 
+0

谢谢它工作正常!如果我只点击一次,应如何修改代码以像以前一样输入链接? – 2010-07-19 17:03:02

+0

在这一点上,我会检查Gaby的回答,他似乎对这个插件有更多的了解。 – 2010-07-19 17:25:28

0

返回false从事件处理程序,或使用jQuery在处理程序,其中e是事件对象使用e.preventDefault()