static

tool.js 2.8KB

    define(["jquery", "ipuUI"], function ($, ipuUI) { // 扩展jquery增加一个回车的回调,不好的方便,不能取消绑定事件 $.fn.enter = function (back) { $(this).on("keydown", function (e) { // 输入框是否有值 if (e.which == '13') { // 回车事件 back.call(this); } }); return this; }; $(function () { // 搜索框交互部分 $(".common-search").each(function (i, obj) { // 调用width()是为了让当前对元素的修改马上生效,默认应该是延迟生效,等待刷新时生效? // 在获取元素宽度,高度时或位置时,会让前面,对dom的修改马上生效 $(".common-search-input", this).focus(function () { // 输入框激活时 $(obj).addClass("common-search-active"); }); $(".common-search-input", this).blur(function () { // 输入框未激活时 $(obj).removeClass("common-search-active"); }); $(".common-search-input", this).on("keyup keydown", function (e) { // 输入框是否有值 $(obj).toggleClass("common-search-value", $(this).val() != "").width(); }); $(".common-search-input-clear", this).click(function () { // 清除按钮 $(".common-search-input", obj).val("").focus(); $(obj).removeClass("common-search-value"); // .width(); }); }); }); var actionTpl = '<div class="ipu-actions-modal common-action">' + '<div class="actions-modal-group-list">' + ' <div class="actions-modal-group">' + ' <div class="ipu-flex ipu-flex-align-center actions-modal-button" data-action="share">' + ' <i class="actions-icon ri-share-box-line"></i>分享' + ' </div>' + ' <div class="ipu-flex ipu-flex-align-center actions-modal-button" data-action="addSchedule">' + ' <i class="actions-icon ri-edit-box-line"></i>新增日程' + ' </div>' + ' </div>' + ' <div class="actions-modal-group">' + ' <div class="actions-modal-label" data-action="cancel">取消</div>' + ' </div>' + '</div>'; /** * * @param {Function} actionHandler 操作项回调函数 * @param {String} actionHandler.action 回调函数参数,操作项类型 */ function action(actionHandler) { var modalEl = $(actionTpl).appendTo("body")[0]; ipuUI.openModal(modalEl); function removeActionDialog() { // 关闭弹窗并移除遮掩绑定事件 ipuUI.closeModal(modalEl); $(".ipu-modal-overlay").off("click", removeActionDialog); } $(".ipu-modal-overlay").on("click", removeActionDialog); // 点击遮掩,移除弹框 $(".actions-modal-label, .actions-modal-button", modalEl).click(function () { actionHandler && actionHandler($(this).data("action")); // 有回调函数则调用回调函数 removeActionDialog(); }); } return {action: action}; });