我成功做的就是链接到JQuery网站,这样我就不必下载任何东西,看到对话框有效。
但是,从我显示的示例中,对话框链接到div。如果div位于屏幕顶部并且输入框位于底部,则div不会对我有所帮助。我在头文件中只有一个函数从多个文本框中调用。此功能包括带有消息的javascript alert()。
请告诉我,我需要在函数中键入的EXACT代码(我们称之为MyFunction()),无论MyFunction被调用,它都会弹出一条消息。
如果是javascript,我们在脚本的head部分中有:
<script type="text/javascript">
function digitsOnly(){
alert("Digits only, please");
}
</script>
在许多文本框中,我们有:
<input type="test/javascript" onkeydown="digitsOnly()" />
我需要一个漂亮的弹出框来替换javascript alert(); 除了弹出调用文本框旁边的消息之外,我不需要这样做。如果它是可拖动和可调整大小的,那将是最酷的事情。但就目前而言,我会对我提到的事情感到满意。
我一直在学习语言。我知道我最终也会学习JQuery。但如果可能的话,我今晚需要这样做。
詹姆斯
答案 0 :(得分:9)
window.alert = function(message) {
// put your dialog box launching code here.
}
答案 1 :(得分:7)
看看jQuery UI's dialog。这也不会替换默认的alert()
,因此您应该检查代码并使用对话框实例替换对alert(...)
的调用。
答案 2 :(得分:4)
Javascript的alert()
函数先于其他任何函数运行,因此实际替换其默认行为很难(如果不是不可能)。但是,您可以轻松地创建自己的功能。而不是:
$('.clickable').click(function() {
alert("Clicked.");
});
这样做:
$('.clickable').click(function() {
$('.dialog').dialog({
// options...
});
});
你必须通过你的代码并用这个代替每个警报,但是,这不应该是一个很大的交易,特别是如果你使用像Textmate这样具有“搜索项目”功能的东西。
答案 3 :(得分:1)
“当然,我需要它弹出文本框所在的位置 找到......就像一个javascript警告框一样。“
我认为你的意思是,如果你要在中途向下滚动 页面,然后调用警报,它将以您当前为中心 查看端口(您在屏幕上看到的内容)......以及您想要的内容 新的prettied up对话框也是如此。
答案是 - “是”......是的,jQuery会将对话框置于正中 在您当前的视口,就像一个警报框一样。
您需要下载并引用主jQuery库以及ALSO 最新的jQueryUI库以及一个jQuery CSS主题。
那么它应该像以下一样简单:
$("<p>Yo, G Dog<p>").dialog({ modal: true });
所以蒂莫西的代码几乎完美无缺。我不得不做一些搞乱,直到我找到导致两个对话框打开的原因。谷歌搜索没有答案。只是实验帮助我看到插入对话框的每个HTML标签由于某种原因打开了自己的对话框。解决这个问题的方法是包含div中的所有HTML标记。现在甚至没有出现空白对话框。
如果您不知道我在说什么,请使用您自己的代码,看看会发生什么。那么,在括号内添加更多HTML标签。例如:
("<h3>Attention></h3><p>Yo, G Dog</p>").dialog({ modal: true });
最后,将h3和p放在div中,看看很酷的结果:
("<div><h3>Attention></h3><p>Yo, G Dog</p></div>").dialog({ modal: true });
后一段代码只显示一个对话框。 :)感谢您的回答!
詹姆斯
答案 4 :(得分:1)
试试这个:
$.extend({ alert: function (message, title) {
$("<div></div>").dialog( {
buttons: { "Ok": function () { $(this).dialog("close"); } },
close: function (event, ui) { $(this).remove(); },
resizable: false,
title: title,
modal: true
}).text(message);
}
});
更多信息here;
答案 5 :(得分:0)
alert = function(a){ my_alert(a); }
答案 6 :(得分:0)
我花了大约100次阅读这个问题来理解你的意思
“当然,我需要弹出文本框所在的位置......就像javascript警告框一样。”
我认为你的意思是,如果你要在页面的中途向下滚动,然后拨打alert
,那么它会以你当前的View Port
为中心(你在屏幕上看到的东西)...并且你想要这个新的漂亮的对话框做同样的事情。
答案是 - “是”......是的,jQuery会将对话框放在当前视口的中心,就像alert
框一样。
您需要下载并引用主jQuery库 AND ALSO 最新的jQueryUI库 AND ALSO 一个jQuery CSS主题。
那么它应该像以下一样简单:
$("<p>Yo, G Dog<p>").dialog({ modal: true });