Javascript 事件操作

标签 javascript jquery html events

我即将使用 jquery 制作一个就地编辑器。它通过单击要编辑的文本来工作,并用输入替换它的内容。在当前情况下带有 select 标签。

它工作正常,除了 <a>标记... 如果您单击 <a>标记它确认你要做什么。您可以接受或取消编辑模式。

如果您接受编辑模式,它会更改 <a> 的内容用<select> .问题出现在这一点之后:如果您点击选择父标签 ( <a> ) 会触发新的页面加载。

我试图在 <a> 上绑定(bind)一个点击事件返回错误,但在这种情况下,鼠标选择将不起作用。

我认为解决这个问题的另一种方法是将点击事件绑定(bind)到 <select>并以某种方式操纵事件对象...

如何做到这一点?或者这是一种错误的方法?

更新: 基本方法无效( selecta 内)但我找到了解决方案:删除 href参数,你不需要丑陋的事件黑客攻击甚至在 FF 中不起作用。 (类似问题及其解释:Select tag inside hyperlink problem)

最佳答案

不要改变内容,改变元素。将 a 元素存储在某处,将其替换为 select,然后在完成后将其替换回来。这样您就不必为链接触发而烦恼。

关于Javascript 事件操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6278065/

相关文章:

html - 媒体查询的两个下限意味着什么?

javascript - jscrollPane 滚动条在初始加载时不出现

javascript - 如何在误差条图 d3.js 上显示数字

javascript - Chart.js 不显示图表数据时的默认值

php - 在 jquery ajax url 中包含 $_SERVER 文件路径的语法?

javascript - 防止触发 onclick

python - Plotly.py 添加到本地文件的链接

javascript - vis.js 在节点数 > 40 时停止响应

javascript - 通过服务器将多个文件上传到 S3 时如何从失败中恢复?

javascript - 获取图像信息的最佳实践