这里我有一个我喜欢的光标输入,我认为很好。我希望这个输入在我的窗口加载时“聚焦”,以便光标闪烁并且输入已准备好输入。我使用jquery使光标工作但不能使.focus()函数工作
https://jsfiddle.net/cityFoeS/z9Ldt/233/
这是我的jquery:
$(function() {
var cursor;
$('#cmd').click(function() {
$('input').focus();
cursor = window.setInterval(function() {
if ($('#cursor').css('visibility') === 'visible') {
$('#cursor').css({ visibility: 'hidden' });
} else {
$('#cursor').css({ visibility: 'visible' });
}
}, 500);
});
$('input').keyup(function() {
$('#cmd span').text($(this).val());
});
$('input').blur(function() {
clearInterval(cursor);
$('#cursor').css({ visibility: 'visible' });
});
});
$('#text').focus();
答案 0 :(得分:0)
$(function(){ });
与$(document).ready(function () { })
解析文档并准备好后会触发。
您在此代码段之外有$('#text').focus();
,而该代码正在document.ready之前执行。因此onclick和onblur函数尚未设置。
你可以试试这个。如果您在附加函数后更改了js并模拟了“cmd”div的单击操作,则可以正常工作:
$(function() {
var cursor;
$('#cmd').click(function() {
$('input').focus();
cursor = window.setInterval(function() {
if ($('#cursor').css('visibility') === 'visible') {
$('#cursor').css({ visibility: 'hidden' });
} else {
$('#cursor').css({ visibility: 'visible' });
}
}, 500);
});
$('#cmd').click();
$('input').keyup(function() {
$('#cmd span').text($(this).val());
});
$('input').blur(function() {
clearInterval(cursor);
$('#cursor').css({ visibility: 'visible' });
});
});