无法选择jQuery动态元素

时间:2014-03-21 04:05:43

标签: javascript jquery html select

通过选择,我的意思是select()

我的代码是:

    $('.show-embed-link').unbind('click');
    $(".show-embed-link").click(function(e){
        var id = $(this).attr("rel");
        e.preventDefault();
        showEmbed(id);
        setTimeout(function() {
            $("#general_message").focus();
        }, 100);
    });

.show-embed-link不是动态元素。它是<a>元素。

showEmbed将生成动态元素。

function showEmbed(id) {
        var message = '<iframe width="1000" height="800" src="//storyzer.com/stories/'+id+'" frameborder="0" allowfullscreen></iframe>';
        message = HtmlEncode(message);
        showOverlayForGeneral(message, "Embed work", {'spinner': false, 'extraheight': 90, 'showclose': true});
 }

showOverlayForGeneral负责使用消息生成动态元素。

function showOverlayForGeneral(message, title, options) {
    options = (typeof options === "undefined") ? {} : options;
    var defaultOptions = {
        "message": "",
        "extraheight": 150,
        "spinner": true,
        "showclose": false
    };

       // code removed because not relevant to this situation...

    $('#general_message').unbind('focus');
    $('#general_message').focus(function () {
        $('#general_message').select().mouseup(function (e) {
            e.preventDefault();
            $(this).unbind("mouseup");
        });
    });
}

focus代码取自https://stackoverflow.com/a/3380493

目前,我的div html未被选中。如何判断选择事件是否正在发生?

1 个答案:

答案 0 :(得分:0)

尝试这个

$(document).ready(function(){
     $('#general_message').unbind('focus');
        $('#general_message').focus(function () {
            $('#general_message').select().click(function (e) {
                e.preventDefault();
                $(this).unbind("click");
            });
        });
})