我正在尝试使用单独的div(自定义'继续'按钮)在用户开始输入文本输入时显示。
我目前正在使用这个:
var submitButton = $('#submitButton');
submitButton.hide();
submitButton.on("showSubmitButton", function(event) {
$( this ).show();
$( this ).css('opacity', '0');
$( this ).fadeTo(400, 0.6);
});
var textInput = $('#textInput');
textInput.click(function() {
$( this ).find('input:text').val(''); // this clears the default 'type your name here' text
});
textInput.keyDown(function() {
submitButton.trigger("showSubmitButton");
});
当我有" showSubmitButton" textInput.click函数中的行在单击时出现了提交按钮,但我希望仅当用户在输入中输入内容时才显示该按钮。
我也使用过.keyPress(),但是这两个关键事件都触发了“没有方法”。错误。我认为我必须错误地使用它们,但我不知道如何。
答案 0 :(得分:1)
事件处理程序的速记函数不是驼峰式的,因此它是.keydown()
,.keypress()
等,而不是.keyDown()
或.keyPress()
。也就是说,我会使用input
或keypress
事件(取决于浏览器支持),并检查文本框的值是否为空字符串:
textInput.find('input:text').on('input', function(e) {
if($.trim(this.value).length > 0) {
submitButton.trigger('showSubmitButton');
}
else {
// consider hiding the submit button?
}
});
答案 1 :(得分:1)
它不是keyDown - 它是keydown