【问题标题】:First character in input unselectable/uneditable输入中的第一个字符不可选择/不可编辑
【发布时间】:2012-03-03 12:10:19
【问题描述】:

我有一个输入,用户可以在其中输入 HEX 值。 “#”符号是输入字段背景图像的一部分,因此用户只需输入数字。我希望将“#”符号作为 html 并使其不可选择/不可编辑。这可能吗?

【问题讨论】:

标签: jquery forms input


【解决方案1】:

在输入元素中侦听 keyup 事件,然后在处理程序中,您可以强制输入的值始终以 # 字符开头,后跟 0-9/a-f

$('#input').bind('keyup', function(){
    var sanitized = $(this).val().replace(/[^0-9a-f]/g,'');
    $(this).val('#'+sanitized);
});

在此处查看演示:http://jsfiddle.net/QrrjW/1/

【讨论】:

  • 不错的解决方案。但是,如果绑定到 keydown 事件会更酷:)
  • @Jørgen 最初我也是这么想的 :) 但由于 keydown 在插入触发键之前获取输入值,因此不会对最后一个字符进行清理 jsfiddle.net/QrrjW/2
  • 很好的解决方案。谢谢@Jørgen!
【解决方案2】:

将 x 字符作为默认值输入框中。使用 js 管理。如果用户第一个字符类型 # 然后 ok else type # 使用 js 和用户在 js 中键入的字符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-28
    • 2010-12-12
    • 2011-11-05
    • 2014-12-10
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多