window.confirmAction = function (msg) { return confirm(msg) }; window.search = function (baseUrl) { var kw = document.getElementsByName("keyword")[0].value; if (kw === "") { window.location.href = baseUrl; } else { window.location.href = baseUrl + "?keyword=" + encodeURIComponent(encodeURIComponent(kw)); } };
时间: 2024-02-14 10:21:01 浏览: 80
这段代码定义了两个全局函数 `confirmAction` 和 `search`。其中,`confirmAction` 函数的作用是显示一个带有提示信息 `msg` 的确认框,并根据用户的选择返回 `true` 或 `false`。`search` 函数的作用是获取名为 `keyword` 的表单元素的值,并将其作为参数加入到 `baseUrl` 后面,最后使用 `window.location.href` 跳转到新的页面。如果表单元素的值为空,则直接跳转到 `baseUrl`。需要注意的是,`encodeURIComponent` 函数的作用是对参数进行编码,以便在 URL 中传递时不会出现问题。
相关问题
分析一下:var common_ops = { init: function () { this.eventBind(); this.setMenuIconHighLight(); }, eventBind: function () { $('.navbar-minimalize').click(function () { $("body").toggleClass("mini-navbar"); SmoothlyMenu(); }); $(window).bind("load resize scroll", function () { if (!$("body").hasClass('body-small')) { fix_height(); } }); }, setMenuIconHighLight: function () { if ($("#side-menu li").size() < 1) { return; } var pathname = window.location.pathname; var nav_name = "default"; if (pathname.indexOf("/account") > -1) { nav_name = "account"; } if (pathname.indexOf("/food") > -1) { nav_name = "food"; } if (pathname.indexOf("/member") > -1) { nav_name = "member"; } if (pathname.indexOf("/finance") > -1) { nav_name = "finance"; } if (pathname.indexOf("/qrcode") > -1) { nav_name = "market"; } if (pathname.indexOf("/stat") > -1) { nav_name = "stat"; } if (nav_name == null) { return; } $("#side-menu li." + nav_name).addClass("active"); }, alert: function (msg, cb) { layer.alert(msg, { yes: function (index) { if (typeof cb == "function") { cb(); } layer.close(index); } }); }, confirm: function (msg, callback) { callback = (callback != undefined) ? callback : {'ok': null, 'cancel': null}; layer.confirm(msg, { btn: ['确定', '取消'] //按钮 }, function (index) { //确定事件 if (typeof callback.ok == "function") { callback.ok(); } layer.close(index); }, function (index) { //取消事件 if (typeof callback.cancel == "function") { callback.cancel(); } layer.close(index); }); }, tip: function (msg, target) { layer.tips(msg, target, { tips: [3, '#e5004f'] }); $('html, body').animate({ scrollTop: target.offset().top - 10 }, 100); }, // 扩展:在前端页面实现url的动态管理 buildUrl: function (path, params) { var url = "" + path; var _paramUrl = ""; if (params) { _paramUrl = Object.keys(params).map(function (k) { return [encodeURIComponent(k), encodeURIComponent(params[k])].join("="); }).join("&"); _paramUrl = "?" + _paramUrl; } return url + _paramUrl; }, buildPicUrl: function (img_key) { var domain = $(".hidden_layout_wrap input[name=domain]").val(); var prefix_url = $(".hidden_layout_wrap input[name=prefix_url]").val(); return domain + prefix_url + img_key; }, }; $(document).ready(function () { common_ops.init(); });
这是一个 JavaScript 对象 common_ops,其中有一些方法,包括 init、eventBind、setMenuIconHighLight、alert、confirm、tip、buildUrl 和 buildPicUrl。其中 init 方法在文档加载完毕后执行,调用了 eventBind 和 setMenuIconHighLight 方法;eventBind 方法绑定了一些事件,包括点击事件和窗口事件;setMenuIconHighLight 方法根据当前页面的路径设置菜单图标的高亮效果;alert 和 confirm 方法分别弹出确认和提示框;tip 方法在指定元素上显示提示信息;buildUrl 方法根据给定的路径和参数构建 URL;buildPicUrl 方法根据给定的图片键值构建图片 URL。
window.confirm弹窗 修改按钮文字
可以使用以下代码来修改 window.confirm 弹窗的按钮文字:
```
// 保存原始的 confirm 方法
var originalConfirm = window.confirm;
// 重写 confirm 方法
window.confirm = function(message) {
// 创建一个新的 Promise 对象
return new Promise(function(resolve, reject) {
// 创建一个确认弹窗
var confirmPopup = document.createElement("div");
confirmPopup.classList.add("confirm-popup");
// 创建文本节点,并插入到确认弹窗中
var messageNode = document.createTextNode(message);
confirmPopup.appendChild(messageNode);
// 创建确认按钮,并插入到确认弹窗中
var confirmButton = document.createElement("button");
confirmButton.classList.add("confirm-button");
confirmButton.innerText = "我的确认按钮文字";
confirmPopup.appendChild(confirmButton);
// 创建取消按钮,并插入到确认弹窗中
var cancelButton = document.createElement("button");
cancelButton.classList.add("cancel-button");
cancelButton.innerText = "取消";
confirmPopup.appendChild(cancelButton);
// 将确认弹窗插入到文档中
document.body.appendChild(confirmPopup);
// 绑定确认按钮的点击事件处理程序
confirmButton.addEventListener("click", function() {
// 从文档中移除确认弹窗
document.body.removeChild(confirmPopup);
// 调用原始的 confirm 方法,并传入 true
resolve(true);
});
// 绑定取消按钮的点击事件处理程序
cancelButton.addEventListener("click", function() {
// 从文档中移除确认弹窗
document.body.removeChild(confirmPopup);
// 调用原始的 confirm 方法,并传入 false
resolve(false);
});
});
};
// 在代码中使用修改后的 confirm 方法
window.confirm("请确认你的选择。").then(function(result) {
if (result) {
console.log("你点击了确认按钮。");
} else {
console.log("你点击了取消按钮。");
}
});
// 恢复原始的 confirm 方法
window.confirm = originalConfirm;
```
在上面的代码中,我们首先保存了原始的 confirm 方法,然后重写了它。重写后的 confirm 方法返回一个 Promise 对象,通过创建一个自定义的确认弹窗来替代原始的确认弹窗。在自定义的确认弹窗中,我们可以根据需要修改确认按钮的文字。最后,我们在代码中使用修改后的 confirm 方法,并在结果中处理用户的选择。
阅读全文