0

我制作了一个脚本,但它没有按预期工作,我需要帮助。你可以在这里看到它。

我只需要为 URL 字段实现以下行为:

  1. 当您单击链接时,将打开目标页面。这行得通。
  2. 当您单击链接的 parentdiv时,链接变为可编辑的input。这也会发生,但是我的输入字段id取自一个数组,例如 ( url0, url1, url2),所以当我在表单中有多个 URL 时,只有第一个有效。
  3. 当你在编辑输入后点击外部时,它又变成了一个链接。
  4. 此外,当您双击链接时,它变得可编辑。

提前感谢所有答案,我希望你能帮助我。

4

1 回答 1

0

不能对不同的页面元素使用相同id的标记 - 这是无效的标记,并且您可以清楚地看到,导致无效的行为。首先,您可能想在标记中修复它。

如果你不能改变它(但是,再一次,你真的应该!),你可以使用一些更复杂的选择器,例如:

$('.cartRight > div > div > a').click(function(){
    $(this).parent().siblings("input").findval($(this).text()).show();
    $(this).hide();
})

很傻吧?不过,您可能可以将这个烂摊子用作最后的手段。

至于双击,我不建议实施这种行为;它在 Web 环境中并不常见,并且可能会让用户感到困惑。此外,从技术角度来看,单击即可开始加载新页面;如果链接被双击,您可以使用它window.stop()来停止,但您需要手动实现双击事件,因为:

dblclick 事件很少使用。即使在使用它时,也应该确保永远不要在同一个 HTML 元素上同时注册 onclick 和 ondblclick 事件处理程序。如果您同时注册两者,几乎不可能找出用户实际做了什么。(http://www.quirksmode.org/js/events_mouse.html#dblclick)

我认为您应该只在右侧有一个小的“编辑”按钮(可能是“铅笔”图标?),而不是使用您当前的 UI 方案。这对我来说似乎很混乱 - 更不用说用户了......

于 2012-06-21T18:29:05.973 回答