Javascript 在原型内部运行JS/JQuery
我在原型可拖动窗口方面遇到问题。。 我有一个窗口,我想在窗口内启动一些jQuery/Ajax/JavaScript函数,但似乎什么都不起作用 看看我用一个简单的JavaScript弹出脚本制作的一个示例,当我单击div时,它不会显示,我所做的每个函数都会发生同样的情况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!");
<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!");
}
}