使“输入”按钮文本不可编辑

时间:2013-12-08 20:04:09

标签: javascript jquery

使用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);

当显示列表时,当我点击项目标题时,它会在转到链接之前暂时调出键盘。我认为这是因为它是一个“输入”项目。我在document.createElement中尝试了“label”和“text area”而不是“input”,但标题没有显示。 任何方式使它仍然是一个按钮,但标题是不可编辑的?

编辑: 新问题@david托马斯 当我将元素类型更改为按钮时,它现在忽略我放入文件的“viewButton”css。首次发布时,它保持了正确的风格。在第二次启动时,它默认为jquery CSS。但是,如果我添加新项目,它们会以正确的方式出现。

如果我将元素类型留给“viewButton”,样式仍然存在,但它也允许编辑文本。

我之前遇到过这个样式问题,我通过在jquery CSS中添加“viewButton”样式来解决这个问题。 CSS style not sticking

关于如何覆盖样式的任何想法?

诺尔

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

我认为问题是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');

参考文献:

答案 2 :(得分:0)

我相信你的意思

element2.type = "button"

我发现这个关于“按钮”类型的问题: <button> vs. <input type="button" />. Which to use?