Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery绑定(';单击';)到多个选择器不工作_Jquery_Jquery Ui_Iframe_Jquery Selectors - Fatal编程技术网

JQuery绑定(';单击';)到多个选择器不工作

JQuery绑定(';单击';)到多个选择器不工作,jquery,jquery-ui,iframe,jquery-selectors,Jquery,Jquery Ui,Iframe,Jquery Selectors,请参阅下面的更新 这是我的密码: $(document).on('click', '#btnClose, .ui-dialog-titlebar-close', function () { alert('test'); }); 当我单击右上角的#btnClose而不是jQuery UIclose按钮时,它会触发 我还试着把它翻过来,得到了同样的结果 $(document).on('click', '.ui-dialog-titlebar-close, #btnClose', funct

请参阅下面的更新

这是我的密码:

$(document).on('click', '#btnClose, .ui-dialog-titlebar-close', function () {
    alert('test');
});
当我单击右上角的
#btnClose
而不是jQuery UIclose按钮时,它会触发

我还试着把它翻过来,得到了同样的结果

$(document).on('click', '.ui-dialog-titlebar-close, #btnClose', function () {});
以下是jQuery UI关闭按钮的HTML:

<button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only ui-dialog-titlebar-close" role="button" aria-disabled="false" title="close">
    <span class="ui-button-icon-primary ui-icon ui-icon-close"></span>
    <span class="ui-button-text">close</span>
</button>

第二个仍然不起作用。请记住,脚本是iFrame的一部分,因此它需要从父级访问选择器。奇怪的是,我正在使用window.parent.$()毫无问题地做其他事情。

原始代码中缺少一个右括号。JS对括号非常敏感。如果缺少括号,并且代码无法工作,则调用将不正确。 我已修复了您的代码:

$(document).on('click', '#btnClose, .ui-dialog-titlebar-close', function () {
    alert('test');
});
这同样适用于代码的第二位:

$(document).on('click', '.ui-dialog-titlebar-close, #btnClose', function () {}
);
在这两种情况下,函数上的
都有三个参数:两个字符串和回调函数


这可能是一个复制/粘贴错误,但很容易成为问题的“原因”。

原始代码中缺少一个右括号。JS对括号非常敏感。如果缺少括号,并且代码无法工作,则调用将不正确。 我已修复了您的代码:

$(document).on('click', '#btnClose, .ui-dialog-titlebar-close', function () {
    alert('test');
});
这同样适用于代码的第二位:

$(document).on('click', '.ui-dialog-titlebar-close, #btnClose', function () {}
);
在这两种情况下,
函数上的
都有三个参数:两个字符串和回调函数


这可能是一个复制/粘贴错误,但很容易成为问题的“原因”。

如果
iframe
的内容不在同一个域中,则您无法以任何方式与该内容进行交互。(有,但这是另一个话题)

如果iframe来自同一个域,则很容易,而不是:

$(文档)

使用


$(“#iframeID”).contents()
如果
iframe
的内容不在同一域中,则不能以任何方式与该内容进行交互。(有,但这是另一个话题)

如果iframe来自同一个域,则很容易,而不是:

$(文档)

使用


$(“#iframeID”).contents()
您可能正在处理的问题。安全策略将防止与来自其他站点或协议的元素发生冲突。

您可能正在处理。安全策略将防止与其他站点或协议的元素发生冲突。

这很疯狂,但它可以工作

$('#btnClose').add(parent.$('.ui-dialog-titlebar-close')).on('click', function () {
    closeDialog();
});

这是疯狂的,但它是有效的

$('#btnClose').add(parent.$('.ui-dialog-titlebar-close')).on('click', function () {
    closeDialog();
});

你能更新这个小提琴来重现你的错误吗?显然不是,它很好用。。。这一定是因为模态的内容是iframe。我试图让小提琴来反映问题,但我无法将本地div加载到iframe中。。。你能更新这个小提琴来重现你的错误吗?显然不是,它很好用。。。这一定是因为模态的内容是iframe。我试图让小提琴来反映问题,但我无法将本地div加载到iframe中。。。没问题。当您没有编译步骤来进行检查时,这些很容易被忽略。没问题。当您没有编译步骤来执行检查时,这些很容易被忽略。脚本位于iframe中。我正在尝试使用window.parent,但到目前为止仍然没有成功。因此,您将此
jQuery
放在iframe(您的网站)中,并希望访问父级(位于同一域上)吗?因此,您使用
$(window.parent)
?$(window.parent).on('click','.ui对话框标题栏close')也不起作用。parent.$(“.selector”)起作用,并引导我找到刚才发布的完整答案。脚本位于iframe中。我正在尝试使用window.parent,但到目前为止仍然没有成功。因此,您将此
jQuery
放在iframe(您的网站)中,并希望访问父级(位于同一域上)吗?因此,您使用的
$(window.parent)
?$(window.parent).on('click','.ui对话框标题栏close')也不起作用。parent.$(“.selector”)起作用,让我找到了刚才发布的完整答案。我不这么认为。我正在使用window.parent以其他方式操纵模态。所有这些文件都是同一站点/服务器上同一项目的一部分。我不这么认为。我正在使用window.parent以其他方式操纵模态。所有这些文件都是同一站点/服务器上同一项目的一部分。