为什么这个jQuery事件监听器不起作用?

时间:2015-09-08 00:12:59

标签: javascript jquery

我试图在jQuery中设置一个事件监听器,但似乎无法让它工作。任何关于我做错的提示/提示都将不胜感激。这是代码:

<script>
$('.send').on('click', function() {
    console.log('message sent');
    var text = $('.draft').val();
    Chat.send(text); 
});
</script>
<input class="draft" type="text"/> <button class="send">Send</button>

- 编辑 -

当我说它不起作用时,我的意思是事件处理程序似乎没有运行(当我点击发送按钮时,控制台没有显示任何内容)。

2 个答案:

答案 0 :(得分:3)

在您的HTML中,您有输入

<input class="draft" type="text"/>

在jQuery中,你做错了text();

 var text = $('.draft').text();

应为val();

 var text = $('.draft').val();

Fiddle

编辑:

让您的脚本DOM准备就绪

//jQuery Library Always comes FIRST
<script>
$(document).ready(function() {
    $('.send').on('click', function() {
        console.log('message sent');
        var text = $('.draft').val();
        Chat.send(text); 
    });
});
</script>

<input class="draft" type="text"/>
<button class="send">Send</button>

答案 1 :(得分:0)

如果您希望在单击按钮时控制台,则事件处理程序应位于“.send”按钮上。 $('.send').on('click', function(){});