上下文在javascript中未定义

上下文在javascript中未定义

我有以下代码:

function pop_open () {

    var contents = $( this ).html() ;

            if (contents.match("^http")) {
                console.log('contents',contents);
                $that = $( this );
                $url = contents;

                $.ajax({
                        type:"POST",
                        url: "Ajax/getHtml",
                        context: $that,
                        data: { u : 'http://stackoverflow.com' },
                        dataType: 'html',
                        error: function(jqXHR, textStatus, errorThrown) {
                            console.log('error');
                            console.log(jqXHR, textStatus, errorThrown);
                        }
                    }).done(function(html) {

                      $link = $('<a href="myreference.html" class="p1" data-html="true" data-bind="popover">');
                    $link.data('content', html);

            $that = $(this);

          // Trigger the popover to open

            $link = $(this).find('a');
            $link.popover("show");
                   });

        }

}

$('td').hover( pop_open(), function() {
            $link = $that.find('a');
            $link.popover("hide");
           $that.html($url);
        });


我的标题出现错误。我究竟做错了什么?

最佳答案

您调用函数pop_open(),但需要传递对函数pop_open的引用

$('td').hover(pop_open, function() {
   // ...
})

关于javascript - TypeError:上下文在javascript中未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28307558/

10-12 03:25