jquery点击不起作用

时间:2013-07-23 22:23:56

标签: javascript jquery

任何人都知道为什么我的jQuery点击不起作用?

附在超链接上。

jQuery(function ($) {

    $(".delete").click(function(e) {
        alert("Hello");
    });

    var socket = io.connect();
    var $messageForm = $('#sendmessage');
    var $messageTitle = $('#title');
    var $messageBox = $('#message');
    var $chat = $('#chat');

    $messageForm.click(function (e) {
        if ($.trim($("#title").val()).length === 0) {
            alert('You must provide valid input');
            $messageTitle.val('');
            $messageBox.val('');
            return false;
        }
        if ($.trim($("#message").val()).length === 0) {
            alert('You must provide valid input');
            $messageTitle.val('');
            $messageBox.val('');
            return false;
        } else {
            e.preventDefault();
            socket.emit('send message', 
               '<b>' + $messageTitle.val() + '</b>' + '&nbsp;-&nbsp;'  
               + $messageBox.val() + '&nbsp;' + '[' +  
               '<a class="delete" href="#">Delete</a>' + ']');
            $messageTitle.val('');
            $messageBox.val('');
        }
    });

    socket.on('new message', function (data) {
        $chat.prepend(data + "<br/>");
    });
});

2 个答案:

答案 0 :(得分:5)

由于删除链接是动态生成的,因此您需要使用事件委派:

$('#chat').on('click', '.delete', function(e) {
    alert("Hello");
});

答案 1 :(得分:0)

你好试着像这样修改你的jquery初始化:

(function($){ }(jQuery)

如果您的脚本仍未触发click事件,请使用console.log($ messageForm)检查$ messageForm是否存在。您可以在var messageForm中修改var $ messageForm,因为我看到变量不需要如此宽的范围。我希望这可以帮到你