分页插件bs_pagination与Bootstrap4、jQuery3.7.1不兼容的问题

问题场景:

分页插件
开发环境:
项目:CRM
IDE:intelij IDEA
JDK: jdk21.0.2
JQuery:3.7.1
Bootstrap:4.6

项目中需要查询数据库中的数据,并且以分页显示的方式显示在页面上,前端页面用到了分页插件——bs_pagination,但是在引入开发包后,运行测试项目后,发现无法得到Demo中的效果,经过检索发现该插件最后一次维护是2014年,已经是十年前的插件了,但不得不说仍然是相当有用的插件。


问题描述

在尝试使用bs_pagination插件的时候,按照文档引入开发包,定义容器,编写初始化JavaScript,但是在项目运行后共出现两个问题:

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><link href="/crm-core/css/bootstrap_css_4/bootstrap.min.css" type="text/css" rel="stylesheet"/><link href="/crm-core/css/pagination/jquery.bs_pagination.css" type="text/css" rel="stylesheet"/><script type="text/javascript" src="/crm-core/js/jquery/jquery-3.7.1-min.js"></script><script type="text/javascript" src="/crm-core/js/bootstrap_js_4/bootstrap.bundle.js"></script><script type="text/javascript" src="/crm-core/js/bs_pagination/localization/en.js"></script><script type="text/javascript" src="/crm-core/js/bs_pagination/jquery.bs_pagination.js"></script><script type="text/javascript">$(function () {$("#test").bs_pagination({totalPages: 100,});});</script><title>测试分页插件</title>
</head>
<body>
<div id="test">
</div>
</body>
</html>

JQuery不兼容的问题

运行后,浏览器控制台出现语法错误报错,提示this.size不是一个函数方法

Uncaught TypeError: this.size is not a functionbs_pagination jQuery<anonymous> http://127.0.0.1:8081/crm-core/TestHTML/testPagination.html:15jQuery 2et

Bootstrap样式不显示的问题

在修复了JQuery的兼容问题后(修复方法看后面解决方案吧),再次运行项目后,发现分页组件倒是可以加载,但是只是最原始的链接,并没有识别Bootstrap样式。


原因分析:

JQuery不兼容的问题原因

由于项目使用了最新版的JQuery3.7.1,而该插件当时适配的时JQuery1.8,出现不兼容的问题可以理解,好在浏览器控制台给出的报错信息很准确,Uncaught TypeError: this.size is not a function,可以理解为js代码中引用了this.size()方法,但是并没有这个方法的定义,经过一番检索后,发现JQuery1.11之后,this.size()函数就被this.length属性给代替啦,这里需要注意this.length后面没有括号。

 if(this.size() != 1) {var err_msg = "You must use this plugin (" + pluginName + ") with a unique element (at once)";this.html('<span style="color: red;">' + 'ERROR: ' + err_msg + '</span>');$.error(err_msg);}

Bootstrap样式不显示的问题原因

在阅读了文章——解决bootstrap4 使用 bootstrap-paginator不显示样式的问题后,我一下子明白了原因所在,主要原因就是该插件当时适配的是BootstrapV2跟V3,而我使用的Bootstrap版本是V4.6,样式有一些明显的变化,但是这篇文章的写作时间是2018年,也比较古早了,提到的解决方案貌似并没有生效。所以决定仔细的阅读一遍bs_pagination.js的源码,经过阅读源码,发现了在动态生产页码按钮的时候,并没有加上BootstrapV4的样式,而是V3的样式,自然不会显示。


解决方案:

JQuery不兼容的问题解决方案

打开bs_pagination.js的源码,Ctrl+F搜索this.size(),将其替换为this.length

if(this.length != 1) {var err_msg = "You must use this plugin (" + pluginName + ") with a unique element (at once)";this.html('<span style="color: red;">' + 'ERROR: ' + err_msg + '</span>');$.error(err_msg);}

Bootstrap样式不显示的问题解决方案

修改bs_pagination.js源码,根据自己的需要调整源码,由于代码行数比较多,将其放在GitCode上了,有需要的可以下载,同时还加入了中文注释,需要的同学可以下载学习。
https://gitcode.com/weixin_44803446/bs_pagination_1.0.5/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/30536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新书速览|Ubuntu Linux运维从零开始学

《Ubuntu Linux运维从零开始学》 本书内容 Ubuntu Linux是目前最流行的Linux操作系统之一。Ubuntu的目标在于为一般用户提供一个最新的、相当稳定的、主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力量&#xff0c;用户可以方便地从社区获得帮助。《Ubuntu Linux运…

高效、智能、安全:小型机房EasyCVR+AI视频综合监控解决方案

一、背景需求分析 随着信息技术的迅猛发展&#xff0c;小型机房在企事业单位中扮演着越来越重要的角色。为了确保机房的安全稳定运行&#xff0c;远程监控成为了必不可少的手段。 二、视频监控 视频监控是机房远程监控的重要组成部分。通过安装IP摄像机及部署视频监控系统Ea…

11.【机器学习】十大算法之一随机森林算法原理讲解

【机器学习】十大算法之一随机森林算法原理讲解 一摘要二个人简介三什么是随机森林&#xff1f;3.1 决策树3.2 集成方法3.2.1 Bagging方法3.2.2 Boosting方法 3.3 随机森林算法3.4 随机的含义 四案例演示一4.1 利用随机森林进行特征选择&#xff0c;然后使用SVR进行训练4.2 利用…

qt事件和连接TCP协议

QT网络聊天室服务器实现 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget),server(new QTcpServer(this))//给服务器指针实例化一个空间 {ui->setupUi(this); }Widget::~Widget() {d…

『Z-Weekly Feed 08』加密资产观 | FHE应用前景 | OPAL协议

一位机构投资者的加密资产观 作者&#xff1a;Hongbo 01 &#x1f4a1;TL;DR 在加密投资领域如何找到真正的“价值”&#xff1a;Crypto 作为一种新兴资产&#xff0c;应该找到一种区别于传统公司股票资产的估值方法&#xff0c;本文重点阐述了加密货币作为新的资产类型与传统资…

Artalk-CORS,跨域拦截问题

今天重新部署Artalk之后&#xff0c;遇到了CORS——跨域拦截的问题&#xff0c;卡了好一会记录一下。 起因 重新部署之后&#xff0c;浏览器一直提示CORS&#xff0c;之前在其他项目也遇到过类似的问题&#xff0c;原因就在于跨域问题。

Docker私有化仓库Harbor安装流程

1.搭建Docker私有仓库主要有以下几种方式 使用Docker官方提供的Registry镜像&#xff1a;Docker官方提供了一个用于构建私有镜像仓库的Registry镜像&#xff0c;只需将镜像下载并运行容器&#xff0c;然后暴露5000端口即可使用。可以通过修改Docker的配置文件daemon.json&#…

C# WPF入门学习主线篇(二十二)—— 样式(Styles)的定义和应用

C# WPF入门学习主线篇&#xff08;二十二&#xff09;—— 样式&#xff08;Styles&#xff09;的定义和应用 欢迎来到C# WPF入门学习系列的第二十二篇。本篇文章将详细介绍WPF中的样式&#xff08;Styles&#xff09;的定义和应用。样式在WPF中起到重要作用&#xff0c;通过样…

西木科技Westwood-Robotics人型机器人Bruce配置和真机配置

西木科技Westwood-Robotics人型机器人Bruce配置和真机配置 本文内容机器人介绍Bruce机器人Gazebo中仿真代码部署Bruce真机代码部署 本文内容 人形机器人Brcue相关介绍docker中安装Gazebo并使用Bruce机器人控制器更换环境配置 机器人介绍 公司&#xff1a;西木科技Westwood-R…

milvus元数据解析工具milvusmetagui介绍使用

简介 milvusmetagui是一款用来对milvus的元数据进行解析的工具&#xff0c;milvus的元数据存储在etcd上&#xff0c;而且经过了序列化&#xff0c;通过etcd-manager这样的工具来查看是一堆二进制乱码&#xff0c;因此开发了这个工具对value进行反序列化解析。 在这里为了方便交…

高速公路收费图片分析系统深入理解

当今社会&#xff0c;随着交通运输业的快速发展&#xff0c;高速公路已成为人们出行的重要选择。而高速公路收费系统作为保障道路可持续运营的重要组成部分&#xff0c;其效率和准确性对于保障道路畅通和交通安全至关重要。近年来&#xff0c;随着技术的不断进步&#xff0c;高…

DSP28335:定时器

1.定时器介绍 1.1 定时器工作原理 TMS320F28335的CPU Time有三个&#xff0c;分别为Timer0&#xff0c;Timer1&#xff0c;Timer2&#xff0c;其中Timer2是为操作系统DSP/BIOS保留的&#xff0c;当未移植操作系统时&#xff0c;可用来做普通的定时器。这三个定时器的中断信号分…

读AI新生:破解人机共存密码笔记06人工智能生态系统

1. 深蓝 1.1. “深蓝”的胜利虽然令人印象深刻&#xff0c;但它只是延续了几十年来显而易见的趋势 1.2. 国际象棋算法的基本设计是由克劳德香农在1950年提出的 1.2.1. 这一基本设计在20世纪60年代初实现了重大改进 1.2.2. 最优秀的国际象棋程序的等级评分稳步提高&#xff…

【漏洞复现】致远OA webmail.do 任意文件下载 (CNVD-2020-62422)

免责声明&#xff1a; 本文内容旨在提供有关特定漏洞或安全漏洞的信息&#xff0c;以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步&#xff0c;并非出于任何恶意目的。阅读者应该明白&#xff0c;在利用本文提到的漏洞信息或进行相关测…

YOLOv10改进 | 注意力篇 | YOLOv10引入EMAttention(EMA)注意力

1. EMA介绍 1.1 摘要:在各种计算机视觉任务中说明了通道或空间注意机制在产生更可辨别的特征表示方面的显着有效性。 然而,通过通道降维来建模跨通道关系可能会给提取深度视觉表示带来副作用。 本文提出了一种新型高效的多尺度注意力(EMA)模块。 着眼于保留每个通道的信息…

【idea-jdk1.8】使用Spring Initializr 创建 Spring Boot项目没有JDK8

信息差真可怕&#xff01; 很久没创建springboot项目&#xff0c;今天使用idea的Spring Initializr 创建 Spring Boot项目时&#xff0c;发现java版本里&#xff0c;无法选择jdk1.8&#xff0c;只有17、21、22&#xff1b;前段时间也听说过&#xff0c;springboot将放弃java8&a…

CSS实现文字上下滚动、间歇滚动和无限滚动

目录 1、连续滚动2、间歇性向上滚动3、任意个数向上滚动 本文主要记录了如何实现文字上下滚动效果&#xff0c;实现主要就是用到了css3的两个属性&#xff1a; framekeys和 animation 1、连续滚动 <div class"scroll-continuous"><div class"content…

阿里云PAI大模型评测最佳实践

作者&#xff1a;施晨、之用、南茵、求伯、一耘、临在 背景信息 内容简介 在大模型时代&#xff0c;随着模型效果的显著提升&#xff0c;模型评测的重要性日益凸显。科学、高效的模型评测&#xff0c;不仅能帮助开发者有效地衡量和对比不同模型的性能&#xff0c;更能指导他…

vue3前端对接后端的图片验证码

vue3前端对接后端的图片验证码 <template> <image :src"captchaUrl" alt"图片验证码" click"refreshCaptcha"></image> </template><script setup>import {ref} from "vue";import {useCounterStore} …

gitlab-cicd-k8s

k8s已经准备好 kubectl get node 创建cicdYaml文件 kubectl create namespace gitlab-cicd --dry-runclient --outputyaml >> gitlab-cicd.yaml kubectl apply -f gitlab-cicd.yaml 服务器和仓库在一起可用专有地址 使用 GitLab Runner 可以自动执行 GitLab CI/CD 管道…