使"input"按钮文本不可编辑



使用javascript字典创建分配列表,有两个元素:text(标题)和text2(哈希锚链接)

    var cell2 = row.insertCell(1);
    var element2 = document.createElement("input");
    element2.type = "viewButton";
    element2.value = todoDictionary["text"];
    var link= todoDictionary["text2"];
    element2.id = rowID;
    element2.setAttribute("onclick","window.location.hash = link");
    element2.className = "viewButton";
    cell2.appendChild(element2);

播放列表时,当我单击项目标题时,它会在转到链接之前临时弹出键盘。我想这是因为它是一个"输入"项目。我在文档.createElement中尝试了"标签"one_answers"文本区域"而不是"输入",但标题没有显示。有没有办法让它仍然是一个按钮,但标题是不可编辑的?

编辑:新一期@david thomas当我将元素类型更改为button时,它现在会忽略我放入文件中的"viewButton"css。在第一次发布时,它保持了正确的风格。在第二次启动时,它默认为jquery CSS。但如果我添加新的项目,它们的风格是正确的。

如果我将元素类型保留为"viewButton",则样式保持不变,但它也允许编辑文本。

我以前遇到过这种样式问题,我通过在jquery CSS中添加"viewButton"样式解决了这个问题。CSS样式未粘贴

关于如何覆盖样式,有什么想法吗?

Noel

为什么使用element2.type = "viewButton"?尝试type="submit"<button>

我想问题是type无效,因此input被呈现为文本-input(除非其他地方有更多的JavaScript或jQuery来解决这个问题?)。

也就是说,你可以简单地使用:

// set the element to a button type:
element2.type = 'button';
// prevent the element from being able to receive focus:
element2.readonly = true;

不过,如果想要按钮,您还可以创建一个button元素:

var element2 = document.createElement('button');

参考文献:

  • HTML input元素(查看type属性的有效值)
  • type属性的状态

我相信你指的是

element2.type = "button"

我发现了一个关于"按钮"类型的SO问题:<按钮>与<输入类型=";按钮"/>。使用哪个?

最新更新