分页插件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运…

在Ubuntu16.04环境下使用Orbbec Astra Pro 运行ORB-SLAM2

&#xff08;虚拟机和双系统都能正常运行&#xff0c;亲测有效&#xff09; 1.Astra Pro驱动安装 1.1安装依赖&#xff1a; $ sudo apt-get install build-essential freeglut3 freeglut3-dev 1.2检查udev版本&#xff0c;需要libudev.so.1&#xff0c;如果没有则添加 #ch…

MySQL容器部署步骤

1、拉取MySQL镜像 docker pull mysql # 默认拉取最新版本docker pull mysql:5.7 # 拉取5.7版本docker pull mysql:8.0 # 拉取8.0版本 2、创建挂载目录 # 创建挂载目录 mkdir -p /home/mysql/conf/ # -p: 多级创建mkdir -p /home/mysql/log/mkdir -p /home/mysql/data/ 3…

Go Context

Context 介绍 Context 代表了协程的上下文&#xff0c;用以在父子协程之间传递控制信号&#xff0c;共享变量等操作// context.Context 接口 type Context interface {// 当Context自动取消或者到了取消时间被取消后返回Deadline() (deadline time.Time, ok bool)// 当Contex…

iOS Facebook SDK 安装

SDK地址 选择要下载的版本&#xff0c;然后下载动态库 FacebookSDK_Dynamic.xcframework.zip 接着手动把 ios-arm64_x86_64-simulator 里面的分离出 x86_64架构&#xff0c;然后动手把它合并到 arm64架构里面 最后拖到项目中&#xff0c;选择 “Embed & Sign”

高效、智能、安全:小型机房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…

【华为HCIA数通网络工程师真题-构建互联互通的IP网络】

文章目录 一、选择题 一、选择题 1、缺省情况下&#xff0c;广播网络上OSPF协议RouterDeadInterval是&#xff1f; 40s &#xff08;ospf 的 RouterDeadInterval 为四倍 hello time 时间&#xff0c;hello time 周期默认为10s&#xff0c;所以 RouterDeadInterval 默认为 40s …

『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进行反序列化解析。 在这里为了方便交…

JavaScript常见面试题(三)

文章目录 1.对原型、原型链的理解2.原型修改、重写3.原型链指向4.对闭包的理解5. 对作用域、作用域链的理解6.对执行上下文的理解7.对this对象的理解8. call() 和 apply() 的区别&#xff1f;9.异步编程的实现方式&#xff1f;10.setTimeout、Promise、Async/Await 的区别11.对…

Eureka介绍与使用

Eureka 是 Netflix 开源的一个服务发现框架&#xff0c;主要用于云端中自动化地发现和注册服务。它在分布式系统中扮演着重要的角色&#xff0c;帮助不同的服务实例互相发现和通信。以下是关于 Eureka 的介绍及其使用方法。 ### Eureka 介绍 Eureka 是 Netflix 微服务架构中的…

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

当今社会&#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…