как скрыть мигающий курсор в тексте ввода?

Я хочу сделать что-то, что будет выглядеть как вход, но на самом деле нет, вот шаги.

Я сделал <input type="text">.

Я добавил background-image, которое покажет "стрелку выбора", создав впечатление, что это поле выбора.

Я добавил значение по умолчанию для этого ввода.

Там будет скрытый div, который будет SlideDown() прямо под этим вводом, когда я SlideDown() на него.

Я попробовал только чтение, чтобы значение не могло быть изменено, но мигающий курсор появится.

Если я использую disabled, мигающий курсор не будет отображаться, но .click() или .focus функция JQuery не будет работать. Выпадающее меню не будет SlideDown().

Как я могу сделать его кликабельным, не показывая мигающий курсор?

Здесь код

<div style="padding-top:17px; overflow:hidden;">
    <div style="float:left;">
        <label for="secretquestion">Secret Question</label><br>
        <input type="text" class="inputselect" id="secretquestion" name="secretquestion" value="Choose a Secret Question" tabindex=10 /><br>
        <div class="selectoptions" id="secretquestionoptions">
            <b>test</b>
        </div> 
    </div>
</div>

CSS

.selectoptions
{
    display: none;
    background-color: white;  
    color: rgb(46,97,158); 
    width: 250px; 
    margin:auto; 
    border-style: solid; 
    border-width:1px; 
    border-color: rgb(46,97,158);  
    font-size: 14px; 
    text-align: center; 
}

.inputselect {
    color: white;  
    cursor: pointer;  
    background-image: url('inputselect.png');
    padding-top: 5px; 
    padding-bottom: 5px;   
    padding-left:10px; 
    padding-right:-10px;
    width:240px; 
    border-style: solid; 
    border-color: rgb(46,97,158); 
    border-width: 1px;
} 
.inputselect:hover {
    outline:none;      
    color:aqua; 
    cursor: pointer; 
    background-image: url('inputselecthover.png');
}
.inputselect:focus {
    outline:none;      
    color:aqua; 
    cursor: pointer; 
    background-image: url('inputselecthover.png');
}

Ответ 1

Цвет курсора соответствует цвету текста.

<input type="text" style="color: transparent">

Если вы действительно хотите показать текст в окне ввода (мой, некоторые люди нуждаются), вы можете использовать текстовую тень.

<style>
    body, div, input {
       color: #afa;
       text-shadow: 0px 0px 1px #fff;
    }
<style>

(проверенные Firefox и Safari).

Ответ 2

Я просто использовал размытие, чтобы избавиться от курсора.

$('input').mousedown(function(e){
  e.preventDefault();
  $(this).blur();
  return false;
});

Ответ 3

Я думаю, что это идеальное решение: сделайте вход достаточно широким, выровняйте его прямо к экрану вправо, таким образом сделайте курсор и содержимое локализовано снаружи экрана, в то время как оно по-прежнему доступно для кликов

perfect solution

Ответ 4

Наконец-то я нашел решение.

<div class="wrapper">
    <input type="text" />
</div>

.wrappr {
    width: 100px;
    height: 30px;
    overflow: hidden;
}
.wrapper input {
    width: 120px;
    height: 30px;
    margin-left: -20px;
    text-align: left;
}

и в моем расположении, это работает!

Ответ 5

Это может быть полезно (хотя и не полный ответ) - я использовал его для отключения ввода в недавнем проекте:

document.getElementById('Object').readOnly = true;
    document.getElementById('Object').style.backgroundColor = '#e6e6e6';
    document.getElementById('Object').onfocus = function(){
        document.getElementById('Object').blur();
    };

Пользователь фокусируется на вводе, когда щелчок в нем, функция размытия() затем удаляет фокус. Между этим, устанавливая readOnly на "True" и устанавливая цвет фона на серый (# e6e6e6), ваш пользователь не должен путаться.