Javascript 在原型内部运行JS/JQuery

Javascript 在原型内部运行JS/JQuery,javascript,jquery,prototypejs,Javascript,Jquery,Prototypejs,我在原型可拖动窗口方面遇到问题。。 我有一个窗口,我想在窗口内启动一些jQuery/Ajax/JavaScript函数,但似乎什么都不起作用 看看我用一个简单的JavaScript弹出脚本制作的一个示例,当我单击div时,它不会显示,我所做的每个函数都会发生同样的情况 <script type="text/javascript"> function show_confirm() { var r = confirm("Press a button!");

我在原型可拖动窗口方面遇到问题。。 我有一个窗口,我想在窗口内启动一些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>
为什么不使用?它建立在防止任何冲突上

下面是一个在您的上下文中使用它的示例:

<script>
$(function() {
    $( "a[id=delete-item]" ).click(function(){
        $( "div[id=dialog-confirm-delete]" ).dialog({
            modal: true,
            buttons: {
                "Delete item": function() {
                    $( this ).dialog( "close" );
                },
                Cancel: function() {
                    $( this ).dialog( "close" );
                }
            }
        });
    });
});
</script>
<style>
    div[id=dialog-confirm-delete] {
        display: none;
    }
</style>
<div id="dialog-confirm-delete">
    <p>
        This item will be permanently deleted and cannot be recovered. Are you sure?
    </p>
</div>
<a id="delete-item">Delete</a>

$(函数(){
$(“a[id=delete item]”。单击(function(){
$(“div[id=dialog确认删除]”)。对话框({
莫代尔:是的,
按钮:{
“删除项”:函数(){
$(此).dialog(“关闭”);
},
取消:函数(){
$(此).dialog(“关闭”);
}
}
});
});
});
div[id=对话框确认删除]{
显示:无;
}

此项目将被永久删除,无法恢复。你确定吗?

试试这个

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

return false;
}

//if you want to use jquery
$(function(){
   $("a").click(function(){
      var r=confirm("Press a button!");
      if (r)
      {
        alert("You pressed OK!");
      }
      else
      {
        alert("You pressed Cancel!");
      }

      return false;
   });
});
</script>



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

函数show_confirm()
{
var r=确认(“按下按钮!”);
if(r)
{
警报(“您按了OK!”);
}
其他的
{
警报(“您按了取消!”);
}
返回false;
}
//如果您想使用jquery
$(函数(){
$(“a”)。单击(函数(){
var r=确认(“按下按钮!”);
if(r)
{
警报(“您按了OK!”);
}
其他的
{
警报(“您按了取消!”);
}
返回false;
});
});

因为它是通过AJAX设置内容的,所以您的脚本将在中执行。函数
show\u confirm
可能会成为
onComplete
中的一个闭包-您不需要编写它,它是自动的

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

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

或者,如果您发现检索到的
元素根本没有被执行(我认为这可能发生在某些域问题上),那么您可以使用iframe来代替
setAjaxContent('myFile.php',…)
替换为
setUrl('myFile.php')
。这是一个折衷方案,因为我不知道如何使用加载微调器。

在本例中,您在哪里使用了jquery?我说过这是一个javascript示例,但jquery也不起作用。(我的意思是如果simple JS不起作用..jQuery将如何?)你如何设置窗口的内容?@clockworkgeek-编辑。这是一个大界面,窗口是用原型构建的,我需要大约一周的时间来为jQuery重新编码,我看到的是一个简单的确认窗口,通过一个链接执行,没有jQuery或原型。如果你能告诉我们你已经写了多少原型,那么也许我们可以给你一个不同的方向,但现在jQuery UI的对话窗口似乎是最好的选择。我不知道这对你有什么帮助,我的朋友,我的意思是你可以去原型可拖动的windows API,看看我在那里做的同样的事情。我正在将一个php文件加载到窗口中,并尝试对php文件执行一些js/jquery。我是想帮你吗?我只是通过jQuery演示了可拖动窗口的使用。鉴于存在冲突,而您还没有实际指定冲突的实际来源,我所能做的就是提出解决此问题的一般方法。是的,伙计,这里是我刚刚编辑的,这里的一个家伙也帮了我一个好建议,谢谢:)我明白了:[18:49:04.258]show_confirm不是definedKool。我已经向你展示了jquery的方法,也检查了我编辑的答案。你刚刚写的答案——非常好用!所以基本上我需要对我想要在窗口的iside上运行的所有jQuery/JS脚本执行相同的操作?顺便说一句,我真的不需要加载微调器bro,iframe选项对我来说听起来很糟糕,因为我将打开的新窗口都将在这个窗口中,这不是我想要做的。另一种方法是在主文档中包含所有必要的脚本,而不是尝试执行AJAX响应。这样就不存在范围问题。
window.show_confirm = function() {
    var r = confirm("Press a button!");
    if (r == true) {
        alert("You pressed OK!");
    } else {
        alert("You pressed Cancel!");
    }
}