为什么jQuery .bind在输入更新后没有运行更改命令?

时间:2014-08-25 18:33:15

标签: javascript jquery

用户上传图片和缩略图显示在div中,但是当输入的值更改(使用Wordpress Media Uploader更新)时,它不会通过在更改后运行命令来更改缩略图,只有输入中的值才会更改。先谢谢大家。

我想修复的功能:

/*Check for Favicon and Place it into Thumbnail*/
 var checkFaviconField = jQuery('#faviconImageURL').bind();
 if (checkFaviconField){
     jQuery('#favicon').append("<img height='48px' src='"+imageUrl+"'/>");
 }

以下是完整代码:

var activeUpload = false;
jQuery(document).ready(function() {
    jQuery('.uploadButton').click(function() {
        activeUpload = true;
        retrievefieldID = jQuery(this).prev().attr('id');
        Fields = jQuery('#'+retrievefieldID).attr('name');
        tb_show('', 'media-upload.php?type=image&amp;TB_iframe=true');

        if (activeUpload == true) {
            var previousFunction = window.send_to_editor;
            window.send_to_editor = function (html) {
                imageUrl = jQuery('img', html).attr('src');
                jQuery("#"+retrievefieldID).val(imageUrl);
                tb_remove(); 

                /*Check for Favicon and Place it into Thumbnail*/
                var checkFaviconField = jQuery('#faviconImageURL').bind();
                if (checkFaviconField){
                    jQuery('#favicon').append("<img height='48px' src='"+imageUrl+"'/>");
                }
            }
        }
        activeUpload = false;
    });
});

1 个答案:

答案 0 :(得分:2)

.bind()仅将事件处理程序附加(或绑定)到元素。它不会触发元素上的事件。要触发更改功能,请将.trigger()与事件名称一起使用,或使用简写.change()

<强>样品:

jQuery('#faviconImageURL').trigger('change');

jQuery('#faviconImageURL').change();