您不能对不同的页面元素使用相同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 方案。这对我来说似乎很混乱 - 更不用说用户了......