Javascript 左键单击不适用于动态选择框/文本框

Javascript 左键单击不适用于动态选择框/文本框,javascript,jquery,drop-down-menu,onclick,focus,Javascript,Jquery,Drop Down Menu,Onclick,Focus,实际上,我在另一个线程中问了这个问题,但我无法正确地提供小提琴示例。现在,我成功地创建了这个问题的fiddle示例。请按照将图像拖放到右侧窗格的顺序->双击拖放的图像(然后在我没有正确包含src的位置会出现另一个图像。但这并不重要)->再次单击显示的图像-?然后会出现动态html。问题是,当我尝试左键单击选择框时,它不会显示结果列表。但当你右键点击它,然后左键点击它,它就会出现。请告诉我原因。我试过了,但找不到 我将包括下面的部分代码,但完整的代码将有小提琴 $(document).ready(

实际上,我在另一个线程中问了这个问题,但我无法正确地提供小提琴示例。现在,我成功地创建了这个问题的fiddle示例。请按照将图像拖放到右侧窗格的顺序->双击拖放的图像(然后在我没有正确包含src的位置会出现另一个图像。但这并不重要)->再次单击显示的图像-?然后会出现动态html。问题是,当我尝试左键单击选择框时,它不会显示结果列表。但当你右键点击它,然后左键点击它,它就会出现。请告诉我原因。我试过了,但找不到

我将包括下面的部分代码,但完整的代码将有小提琴

$(document).ready(function () {

    var x = null;
    //Make element draggable
    $(".drag").draggable({
        helper: 'clone',
        cursor: 'move',
        tolerance: 'fit',
        stop: function (ev, ui) {

            var pos = $(ui.helper).offset();
            var dragItem = $(this).attr('id');
            objName = "#" + dragItem + count;

            $(objName).removeClass("drag");

            $(objName).draggable({
                cancel: ".arrows"
            });


            //Fires when an existing object is dragged
            $(objName).draggable({
                containment: '#droppable',
                drag: function (ev, ui) {

                    // instance.repaint($(this)); 
                    var x = ui.offset.left;
                    var y = ui.offset.top;
                    $("#xax").val(x);
                    $("#yax").val(y);
                },
                stop: function (ev, ui) {

                    var x = ui.offset.left;
                    var y = ui.offset.top;

                    jsonElements.forEach(function (element) {

                        if (element.cloneID == currDragId) {
                            element.left = x;
                            element.top = y;

                            //appendNewArrowPositions(x,y,currDragId);
                        }

                    });
                }
            });
        },
        revert: true
    });

    $("#droppable").droppable({
        accept: '.drag',
        activeClass: "drop-area",
        drop: function (e, ui) {

            if ($(ui.draggable)[0].id != "") {

                count++;
                var dragItem = $(ui.draggable)[0].id;
                x = ui.helper.clone();
                $(this).append(x.attr("id", dragItem + count));

                ui.helper.remove();
                var clone = ui.draggable;
                var width = clone.width();
                var height = clone.height();

                var parent = $('.droppable.ui-droppable');

                //substract the additional amount created by relativeness
                var leftAd = (x.position().left - parent.offset().left);

                x.css({
                    left: leftAd
                });

                var offsetXPos = ui.offset.left;
                var offsetYPos = ui.offset.top;
                var obj = {};

                obj["cloneID"] = dragItem + count;
                obj["width"] = 85;
                obj["height"] = 85;
                obj["top"] = offsetYPos;
                obj["left"] = offsetXPos;

                if (dragItem == "input") {

                    obj["streamAlies"] = "";
                    obj["selectedDefinedStream"];
                    obj["asignedAttributeList"];
                    obj["itemType"] = "input";
                }
                var str = eval(obj);
                jsonElements.push(str);

                //to append the delete button only to the clone
                $('img[id="arrow"]').append($(x.find('img[id="arrow"]')).attr("id", 'cloneImage' + count));

                x.resizable({
                    maxHeight: $('#droppable').height(),
                    maxWidth: $('#droppable').width()
                });
                x.addClass('remove');

                var el = $('<span><a href="Javascript:void(0)" class=\"xicon delete' + count + '\" id=\"delete' + count + '\" title=\"Remove\">X</a></span>');
                $(el).insertAfter($('img[id="cloneImage' + count + '"]'));
                $("#" + dragItem + count).dblclick(function (event) {
                    event.stopPropagation();
                    var cloneAttrID = $(this).attr('id');
                    var config = $('<span id=\"configconfigImg' + count + '\" class=\"config\"> <img id=\"configImg' + count + '\" class=\"configs configClone' + cloneAttrID + '\" src=\"images/configSymbol.png\"></span>');
                    $("#" + cloneAttrID).append(config);

                    $('.configClone' + cloneAttrID).on('click', function (event) {
                        event.stopPropagation();
                        var attrId = $(this).attr('id');
                        var parentCloneId = $(this).parent().parent().attr("id");
                        if ($(this).hasClass("selected" + attrId)) {
                            $(".pop" + attrId).slideFadeToggle(function () {
                                $("#" + attrId).removeClass("selected" + attrId);
                                $("#config" + attrId).children(".pop" + attrId).remove();
                            });
                        } else {
                            if (dragItem == "input") {
                                var selectOptions = "";
                                for (var z = 0; z < definedStreams.length; z++) {
                                    selectOptions += '<option value="' + definedStreams[z].streamName + '">' + definedStreams[z].streamName + '</option>';
                                }
                                jsonElements.forEach(function (element) {
                                    if (element.itemType == "Output") {
                                        selectOptions += '<option value="' + element.streamAlies + '">' + element.streamAlies + '</option>';
                                    }

                                });

                                $(this).addClass("selected" + attrId).parent().append('<div id="pop' + attrId + '" class="messagepop pop' + attrId + '"><form id="new_message" action="/messages"><p><label for="definedStream">Please select the stream</label>' +
                                    '<select name="selectedStreamsId' + attrId + '" id="selectedStreamsId' + attrId + '"><option value="-1">--SELECT--</option>' + selectOptions +
                                    '</select></p>' +
                                    '<p></p><input type="button" value="Save" name="saveStream' + attrId + '" id="saveStream' + attrId + '"/></div></form>');
                                //  Stopping propagation of specfic element
                                //$(".pop"+attrId).add('#selectedStreamsId'+attrId+'').click(handler);

                            }
                        }
                    });
                });
                x.appendTo('#droppable');
            };
        }
    });
});   
$(文档).ready(函数(){
var x=null;
//使元素可拖动
$(“.drag”).draggable({
助手:“克隆”,
光标:“移动”,
公差:“配合”,
停止:功能(ev、ui){
var pos=$(ui.helper.offset();
var dragItem=$(this.attr('id');
objName=“#”+dragItem+count;
$(objName).removeClass(“拖动”);
$(objName).draggable({
取消:“.箭头”
});
//拖动现有对象时激发
$(objName).draggable({
安全壳:“#可下降”,
拖动:功能(ev、ui){
//实例。重新绘制($(this));
var x=ui.offset.left;
var y=ui.offset.top;
$(“#xax”).val(x);
$(“yax”).val(y);
},
停止:功能(ev、ui){
var x=ui.offset.left;
var y=ui.offset.top;
forEach(函数(元素){
if(element.cloneID==currDragId){
element.left=x;
element.top=y;
//附录新箭头位置(x、y、currDragId);
}
});
}
});
},
回复:真
});
$(“#可拖放”)。可拖放({
接受:'.drag',
activeClass:“放置区域”,
drop:函数(e、ui){
如果($(ui.draggable)[0].id!=“”){
计数++;
var dragItem=$(ui.draggable)[0].id;
x=ui.helper.clone();
$(this).append(x.attr(“id”,dragItem+count));
helper.remove();
var clone=ui.draggable;
var width=clone.width();
var height=clone.height();
var parent=$('.droppable.ui droppable');
//减去相对性产生的额外金额
var leftAd=(x.position().left-parent.offset().left);
x、 css({
左:左广告
});
var offsetXPos=ui.offset.left;
var offsetYPos=ui.offset.top;
var obj={};
obj[“克隆蛋白”]=dragItem+计数;
obj[“宽度”]=85;
obj[“高度”]=85;
obj[“top”]=offsetYPos;
obj[“左”]=偏移量XPO;
如果(dragItem==“输入”){
obj[“streamAlies”]=“”;
obj[“selectedDefinedStream”];
obj[“AsignedatTributtelist”];
obj[“项目类型”]=“输入”;
}
var-str=eval(obj);
jsonements.push(str);
//仅将“删除”按钮附加到克隆
$('img[id=“arrow”]).append($(x.find('img[id=“arrow”]).attr(“id”,“克隆图像”+count));
x、 可调整大小({
maxHeight:$(“#可拖放”).height(),
maxWidth:$(“#可拖放”).width()
});
x、 addClass(“删除”);
变量el=$('');
$(el).insertAfter($('img[id=“cloneImage'+count+'”);
$(“#”+dragItem+count).dblclick(函数(事件){
event.stopPropagation();
var cloneAttrID=$(this.attr('id');
变量配置=$('');
$(“#”+cloneAttrID).append(config);
$('.configClone'+cloneAttrID).on('click',函数(事件){
event.stopPropagation();
var attrId=$(this.attr('id');
var parentCloneId=$(this.parent().parent().attr(“id”);
if($(this).hasClass(“选定的”+attrId)){
$(“.pop”+attrId).slideFadeToggle(函数(){
$(“#”+attrId).removeClass(“选定的”+attrId);
$(“#config”+attrId).children(“.pop”+attrId.remove();
});
}否则{
如果(dragItem==“输入”){
var selectOptions=“”;
对于(var z=0;z