как скрыть мигающий курсор в тексте ввода?
Я хочу сделать что-то, что будет выглядеть как вход, но на самом деле нет, вот шаги.
Я сделал <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), ваш пользователь не должен путаться.