Jquery文本输入行为搞笑

Jquery text input acting funny

本文关键字:搞笑 输入 文本 Jquery      更新时间:2023-09-26

我有以下jQuery在单击时修改表格单元格 - 它将使用户能够填写文本输入并在输入时返回正常<td>

.HTML-

<td class="delivered">
    {{ title.delivery_date|date:"Y-m-d" }}
</td>

.JS-

$("td.delivered").click(function () {
    if ($(this).find('#inp').length == 0) {
        var before = $(this).text();
        var title_id = $(this).parent().attr('id');
        var status_type = 'delivery-date'
        $(this).html($("<input/>", {
            id: 'inp',
            style: 'width:70px;',
            placeholder: 'YYYY-MM-DD',
            change: function () {
                selectdone(this, title_id, status_type);
            }
        }));
        $("#inp").focus();
        $('#inp').val(before);
    }
});

上面的js有效,但有一个怪癖。

即使输入元素是 70px,它似乎滚动,就好像文本宽度是 200px 左右一样。这样,您在首次单击 td 后无法看到placeholder。我如何使光标始终向左齐平,并且文本输入在各个方面都是 70px。

更新:这是输入文本并通过POSTu'status': [u''t't't't't't't't't't't2012-01-01']发送后输入的外观。换句话说,它似乎从文本输入中的 11 个选项卡开始!为什么会发生这种情况,我将如何摆脱这种情况?

你可以用width:70px;overflow:hidden将输入框包装在一个div中,这样你就不会看到任何滚动条。