Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当用户开始键入文本输入时,在单独的div中触发jQuery自定义事件_Javascript_Jquery - Fatal编程技术网

Javascript 当用户开始键入文本输入时,在单独的div中触发jQuery自定义事件

Javascript 当用户开始键入文本输入时,在单独的div中触发jQuery自定义事件,javascript,jquery,Javascript,Jquery,我正在尝试在用户开始输入文本时显示一个单独的div(自定义的“继续”按钮)。 我目前正在使用: var submitButton = $('#submitButton'); submitButton.hide(); submitButton.on("showSubmitButton", function(event) { $( this ).show(); $( this ).css('opacity', '0'); $( this ).fadeTo(400, 0.6);

我正在尝试在用户开始输入文本时显示一个单独的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");
});
当我在textInput.click功能中有“showSubmitButton”行时,提交按钮出现在click上,但我希望该按钮仅在用户在输入中键入内容时出现。

我也使用了.keyPress(),但这两个键事件都会触发“hasnoomethod”错误。我想我一定是用错了,但我不知道怎么用。

事件处理程序的速记函数不是驼峰式的,所以它是
.keydown()
.keypress()
等,而不是
.keydown()
.keypress()
。也就是说,我会使用
输入
按键
事件(取决于浏览器支持),并检查文本框的值是否不是空字符串:

textInput.find('input:text').on('input', function(e) {
    if($.trim(this.value).length > 0) {
        submitButton.trigger('showSubmitButton');
    }
    else {
        // consider hiding the submit button?
    }
});

它不是keyDown-它是keyDown

提示,第4、5、6行,为什么不将它链接起来,而不是键入$(这个)3次呢?比如show().css().fadeTo()是的,我刚刚意识到(就在我发布了这个问题或课程之后!)keyDown事件中没有驼峰。所以是首都D把它扔掉了。现在可以了。谢谢你的回答-我可以试试这个选择。谢谢-你的选择很好。我将'length>0'更改为'length<2',这样它只在第一次输入时触发(当用户删除到1个字符长度时也会触发,但我可以接受)。