使用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问题:<按钮>与<输入类型=";按钮"/>。使用哪个?