好的Javascript确认给出了确定/取消按钮,但是我想在Javascript中创建确认和否,任何人都可以帮忙吗?
答案 0 :(得分:3)
Javascript无法更改确认框中的按钮。
我建议以内联弹出窗口的形式滚动自己。只需在页面中心创建一个position:absolute;
的div,然后显示/隐藏它。
修改强>
下面的代码将概述您需要在vanilla Javascript中执行的操作。您可能希望花更多时间设计它,但关键点是:
position:absolute;
这样弹出窗口就会出现在页面的中心。
display:none;
以便在页面加载时隐藏弹出窗口。
该链接有href
,因此即使没有Javascript它仍然可以正常运行。
第一个链接的onClick
属性返回false;这会阻止链接重定向。
您可以更改弹出窗口中的两个onClick
以执行其他任何操作。
<style type="text/css">
div#popup
{
position:absolute;
display:none;
top:200px;
left:50%;
width:500px;
margin-left:-250px;
border:1px solid blue;
padding:20px;
background-color:white;
}
</style>
<a
href="http://example.com/"
onclick="document.getElementById('popup').style.display = 'block'; return false;"
>Go to example.com</a>
<div id="popup">
<p>Are you sure you want to go to example.com?</p>
<p>
<a onclick="document.location='http://example.com/'; return false;">
Yes
</a>
<a onclick="document.getElementById('popup').style.display = 'none'; return false;">
No
</a>
</p>
</div>
为了获得更专业的结果,我建议您更多地了解JavaScript和jQuery,并研究其他海报建议的一些选项。
答案 1 :(得分:1)
基础知识是:
z-index
(100,比方说,除非页面上有其他元素的z-index
高于此值。)这真的很容易(或那么复杂)。 : - )
话虽如此,这个轮 已被发明 。寻找“灯箱”或类似的组件。例如,jQuery UI有一个名为Dialog
,但只是将其添加到您不使用jQuery UI的页面可能会有点沉重。
答案 2 :(得分:0)
您不能影响常用window.alert
,window.confirm
和window.prompt()
原生弹出窗口的使用。
但是,您可以使用其他现有库,例如ExtJS的MessageBox。
MessageBox是ExtCore的一部分,所以你甚至不需要整个库,只需要核心功能。
下面是一个使用Google AJAX Libraries API加载器的简单示例。
my.html 的<head>
部分中的:
<script type="text/javascript" src="http://www.google.com/jsapi?key=MY_API_KEY_GOES_HERE"></script>
<script type="text/javascript" src="my.js"></script>
my.js 中的:
google.load("dojo", "1.5", {
uncompressed: true
});
function OnLoad() {
function processResult() {
/* do something here */
}
Ext.Msg.show({
title:'Save Changes?',
msg: 'You are closing a tab that has unsaved changes. Would you like to save your changes?',
buttons: Ext.Msg.YESNOCANCEL,
fn: processResult,
icon: Ext.MessageBox.QUESTION
});
}
google.setOnLoadCallback(OnLoad);
有关详细信息,请参阅我对how to use the Google CDN上的其他问题的回答。