1

我在我的 asp.net MVC 应用程序中使用 jquery fancybox ,如下所示:

 $.fancybox.open([$("#AddCallRecordingPopup")], {
                            helpers: {
                                width: 600,
                                title: null,
                                autoHeight: true,
                                overlay: {
                                    css: {
                                        cursor: 'auto'
                                    },
                                    closeClick: false
                                }
                            }

                        });

我可以看到fancybox。花式框的 HTML 是:

                    <div id="AddCallRecordingPopup" title="Add Call Recording" style="display: none"
            class="popup-dv">           
 <input type="text" value="" title="Click here to enter a telephone number" name="NumberCalledTo" id="NumberCalledTo" class="normal phone required" autocomplete="off">
 </div>

我正在尝试使用下面的js来触发fancybox上的文本框上的点击事件

 var $inputs = $(".phone"), $selects = $('.dialprefix');  

    $inputs.click(function () {
        /* get index of active input and use to match select*/
        var idx = $inputs.index(this), $sel = $selects.eq(idx);
        var dialprefix = $sel.val();
        var Id = $sel.attr('id');

        $(this).focus();
        var phone = $(this).val();
        var phoneId = $(this).attr('id');
        $("#PhoneNumber").val(phone);
        $("#SelecteddialprefixId").val(Id);
        $("#SelectedPhoneId").val(phoneId);

    })

但我得到:

TypeError: element.prop(...) is undefined
[Break On This Error]   

rez  = element.prop('class').match(/fancybox\.(\w+)/);

仅当我单击文本框时才会发生这种情况。Fancybox 关闭,我看到了错误。我认为在 $inputs.click 上有一些 jquery 与 fancybox 的冲突。请提出解决方案。

4

0 回答 0