在 $.post() 上执行 JavaScript 操作

performing JavaScript action on $.post()

本文关键字:执行 JavaScript 操作 post      更新时间:2023-09-26

这是我在"test"页面上的JavaScript代码。

$('#link_share_input').keyup(function () {
    var link_share_input = $(this).val();
    if (link_share_input != '') {
        $.post('http://' + window.location.hostname + '/assets/scripts/ajax_dashboard_dynamic_preview.php', {
            preview_type: 'link',
            link_share_input: link_share_input
        }, function (data) {
            if (data !== "") {
                $('.link_preview_span').show();
                $('.link_attachment_preview').html('<div class = "center" style = "padding: 10px 0"><img src = "http://www.assets.buddyweb.me/style_images/loading.gif"></div>');
                $('.link_attachment_preview').html(data);
            } else {
                $('.link_preview_span').hide();
            }
        })
    }
})

$('#video_url_input').keyup(function () {
    var video_url_input = $(this).val();
    if (video_url_input != '') {
        $.post('http://' + window.location.hostname + '/assets/scripts/ajax_dashboard_dynamic_preview.php', {
            preview_type: 'video',
            video_url_input: video_url_input
        }, function (data) {
            if (data !== "") {
                $('.link_preview_span').show();
                $('.link_attachment_preview').html('<div class = "center" style = "padding: 10px 0"><img src = "http://www.assets.buddyweb.me/style_images/loading.gif"></div>');
                $('.link_attachment_preview').html(data);
            } else {
                $('.link_preview_span').hide();
            }
        })
    }
})

#link_share_input#video_url_inputdiv来自$.post到页面上的文件。除非我将上面的JavaScript放在页面上,否则它$.post从中编辑即可工作。

我怎样才能让这个JavaScript来处理从文件到"测试"文件$.post的数据?

$('#link_share_input').keyup更改为..

$(document).on('keyup', '#link_share_input', function(e) { ... });

这基本上是在文档上放置一个事件侦听器,每当触发 keyup 事件并且目标#link_share_input匹配时,它就会触发您的事件回调。 因为您正在通过 $.post 修改 HTML,因此它的工作方式与您预期的完全一样。

快速说明:这需要 jQuery 1.7 及更高版本。 对于旧版本的jQuery,.delegate.live,还有其他等效的方法。