我在我的 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 的冲突。请提出解决方案。