Javascript 禁用输入类型

Javascript 禁用输入类型,javascript,twitter-bootstrap-3,bootstrap-tokenfield,Javascript,Twitter Bootstrap 3,Bootstrap Tokenfield,我正在使用引导令牌字段库。我在我的项目中有一个案例,我可以通过单击编辑令牌,但不能键入,我有添加新药丸的特殊表单。 有没有一种方法可以禁用输入表单中的输入,但仍然可以通过单击删除和添加药丸 您可以将showAutocompleteOnFocus设置为鼠标焦点,这样就不需要使用键盘添加令牌或删除令牌,示例代码:- $('#tokenfield').tokenfield({ autocomplete: { source: ['red','blue','green','yell

我正在使用引导令牌字段库。我在我的项目中有一个案例,我可以通过单击编辑令牌,但不能键入,我有添加新药丸的特殊表单。
有没有一种方法可以禁用输入表单中的输入,但仍然可以通过单击删除和添加药丸

您可以将showAutocompleteOnFocus设置为鼠标焦点,这样就不需要使用键盘添加令牌或删除令牌,示例代码:-

$('#tokenfield').tokenfield({
    autocomplete: {
        source: ['red','blue','green','yellow','violet','brown','purple','black','white'],
        delay: 100
    },
    showAutocompleteOnFocus: true
});

$("#tokenfield").keydown( function(key) {
    return false;
});

您可以将showAutocompleteOnFocus设置为鼠标焦点,这样就不需要使用键盘来添加令牌或删除令牌,示例代码:-

$('#tokenfield').tokenfield({
    autocomplete: {
        source: ['red','blue','green','yellow','violet','brown','purple','black','white'],
        delay: 100
    },
    showAutocompleteOnFocus: true
});

$("#tokenfield").keydown( function(key) {
    return false;
});

在我正在处理的一个项目中,我有一个类似的需求,所有令牌都是使用表单定义的,我们的需求要求用户可以删除令牌,但不能编辑或在输入中添加新令牌,只能使用提供的表单。我的“解决方案”有点老套:bootstrap tokenfield在DOM中添加一个新输入,供用户键入最终转换为令牌的文本,您可以禁用此输入,并有效地防止用户键入新令牌

默认情况下,新令牌接收的id格式为
id-tokenfield
,其中
id
是原始输入的id。如果原始输入上未提供id,则使用随机数

因此,禁用此输入:

$('#search-tokenfield').prop('disabled', 'disabled');

防止用户创建新令牌,同时保留编辑/删除令牌的机会。在我的例子中,
search
是原始输入的id。

我在一个项目中有一个类似的要求,所有令牌都是使用表单定义的,我们的要求是用户可以删除令牌,但不能编辑或在输入中添加新令牌,只能使用提供的表单。我的“解决方案”有点老套:bootstrap tokenfield在DOM中添加一个新输入,供用户键入最终转换为令牌的文本,您可以禁用此输入,并有效地防止用户键入新令牌

默认情况下,新令牌接收的id格式为
id-tokenfield
,其中
id
是原始输入的id。如果原始输入上未提供id,则使用随机数

因此,禁用此输入:

$('#search-tokenfield').prop('disabled', 'disabled');

防止用户创建新令牌,同时保留编辑/删除令牌的机会。在我的例子中,
search
是原始输入的id。

您可以在创建令牌后禁用id为“tokenfield tokenfield”的输入,并在移除时重新启用它

$('#tokenfield').on('tokenfield:createdtoken', function (e) {
    $('#tokenfield-tokenfield').prop('disabled', true);
});

$('#tokenfield').on('tokenfield:removedtoken', function (e) {
        $('#tokenfield-tokenfield').prop('disabled', false);
});

您可以在创建令牌后禁用id为“tokenfield tokenfield”的输入,并在移除时重新启用它

$('#tokenfield').on('tokenfield:createdtoken', function (e) {
    $('#tokenfield-tokenfield').prop('disabled', true);
});

$('#tokenfield').on('tokenfield:removedtoken', function (e) {
        $('#tokenfield-tokenfield').prop('disabled', false);
});

你能展示那个特殊的表单或者你的代码吗?这是一个简单的带有下拉菜单和按钮的popover。在选择新项目并按下按钮后,我正在使用该库中的方法“setTokens”。您可以显示该特殊表单或您的代码吗?它是带有下拉菜单和按钮的简单弹出窗口。在选择新项目并按下按钮后,我正在使用该库中的方法“setTokens”。不幸的是,这对我来说不是一个好的解决方案。我的项目中的用户无法在字段中键入任何内容。我已更新了代码,请使用该代码重试。它仍然允许键入内容。不幸的是,这对我来说不是一个好的解决方案。我的项目中的用户无法在字段中键入任何内容。我已更新了代码,请使用该代码重试。它仍然允许键入内容。