我正在对文本字段进行jQuery关注。在Chrome和IE中,光标在值之后开始,但在Firefox中,它从值开始。 如何在firefox中的值之后启动它?
以下相关代码:
$($.cookie("inputFocus")).focus()
下面的整个jQuery代码:
<script>
$(document).ready(function() {
$("#state").change(function () {
this.form.submit();
})
var focus = $.cookie("inputFocus");
$(focus).focus();
$(focus)[0].setSelectionRange($(focus).val().length, $(focus).val().length);
$("#supplier_name").val($("#supplier_name").val());
$("#aircraft_type").val($("#aircraft_type").val());
var typingTimer;
var doneTypingInterval = 600;
$('#supplier_name').keyup(function(){
clearTimeout(typingTimer);
if ($('#supplier_name').val) {
typingTimer = setTimeout(doneTyping, doneTypingInterval);
}
$.cookie("inputFocus", "#supplier_name");
});
$('#aircraft_type').keyup(function(){
clearTimeout(typingTimer);
if ($('#aircraft_type').val) {
typingTimer = setTimeout(doneTyping, doneTypingInterval);
}
$.cookie("inputFocus", "#aircraft_type"); });
function GetQueryStringParams(sParam)
{
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++)
{
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam)
{
return sParameterName[1];
}
}
}
var state = GetQueryStringParams('state');
var supplier_name = GetQueryStringParams('supplier_name');
var aircraft_type = GetQueryStringParams('aircraft_type');
if(supplier_name === "" && state === "any" && aircraft_type === "") {
$('#clear').attr('disabled','disabled');
}
$("#clear").click(function() {
if(state === "any") {
$("#aircraft_type").val("");
$("#supplier_name").val("");
} else {
$('#state option:selected').remove();
$("#aircraft_type").val("");
$("#supplier_name").val("");
}
});
function doneTyping () {
$("form").submit();
}
});
</script>
答案 0 :(得分:5)
您可以使用setSelectionRange设置插入位置。
试试我的演示here:
$('input').focus();
$('input')[0].setSelectionRange($('input').val().length, $('input').val().length);