我即将使用 jquery 制作一个就地编辑器。它通过单击要编辑的文本来工作,并用输入替换它的内容。在当前情况下带有 select 标签。
它工作正常,除了 <a>
标记... 如果您单击 <a>
标记它确认你要做什么。您可以接受或取消编辑模式。
如果您接受编辑模式,它会更改 <a>
的内容用<select>
.问题出现在这一点之后:如果您点击选择父标签 ( <a>
) 会触发新的页面加载。
我试图在 <a>
上绑定(bind)一个点击事件返回错误,但在这种情况下,鼠标选择将不起作用。
我认为解决这个问题的另一种方法是将点击事件绑定(bind)到 <select>
并以某种方式操纵事件对象...
如何做到这一点?或者这是一种错误的方法?
更新:
基本方法无效( select
在 a
内)但我找到了解决方案:删除 href
参数,你不需要丑陋的事件黑客攻击甚至在 FF 中不起作用。
(类似问题及其解释:Select tag inside hyperlink problem)
最佳答案
不要改变内容,改变元素。将 a
元素存储在某处,将其替换为 select
,然后在完成后将其替换回来。这样您就不必为链接触发而烦恼。
关于Javascript 事件操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6278065/