gpt4 book ai didi

javascript - 在原型(prototype)内部运行 JS/JQuery

转载 作者:行者123 更新时间:2023-12-02 20:11:40 25 4
gpt4 key购买 nike

我在使用 Prototype Draggable 窗口时遇到问题..我有一个窗口,我想在窗口内启动一些 jQuery/Ajax/JavaScript 函数,但似乎没有任何效果。

看看我用一个简单的 JavaScript 弹出脚本制作的示例,当我单击它不显示的 div 时,我执行的每个函数都会发生同样的情况。

<script type="text/javascript">
function show_confirm() {
var r = confirm("Press a button!");
if (r == true) {
alert("You pressed OK!");
} else {
alert("You pressed Cancel!");
}
}
</script>

<a href="#" onclick="show_confirm()"><div id="delete"></div></a>

对于 jQuery,我已经尝试过 noconflict() 但它仍然不起作用。

编辑:这是我设置窗口的方法:

function openApps() {
new UI.Window({theme: "ultra_dark",
width: 1170,
height: 630,
superflousEffects: superflousEffects}).center().show().setAjaxContent('myFile.php', {
method: "GET",
onCreate: function() {
this.header.update("Applications");
this.setContent('<div class="message">Please wait...</div><div class="spinner"></div>');
}
});
}

最佳答案

因为它是通过 AJAX 设置内容,所以您的脚本正在 context of a callback 中执行。 。函数show_confirm可能会成为 onComplete 内的闭包- 你不需要写的东西,它是自动的。

您可能需要将其显式分配给全局变量。

window.show_confirm = function() {
var r = confirm("Press a button!");
if (r == true) {
alert("You pressed OK!");
} else {
alert("You pressed Cancel!");
}
}

或者,如果您找到检索到的 <script>元素根本没有被执行(我认为某些域问题可能会发生这种情况),那么您可以通过替换 setAjaxContent('myFile.php', ...) 来使用 iframe 来代替与 setUrl('myFile.php') 。这是一个折衷方案,因为我不知道如何拥有加载旋转器。

关于javascript - 在原型(prototype)内部运行 JS/JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6890420/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com