@@ -332,6 +332,7 @@ function initScript() {
332332 const progressFill = document . getElementById ( 'progressBar' ) ;
333333 const pageHeightSetBtn = document . querySelector ( "#setPageHeight" ) ;
334334 const pageHeightInput = document . querySelector ( "#pageHeightInput" ) ;
335+ const toggleClickPageBtn = document . getElementById ( 'toggleClickPage' ) ;
335336
336337 // 生成存储键名
337338 function getStorageKey ( mode ) {
@@ -347,6 +348,7 @@ function initScript() {
347348 let totalPages = 0 ;
348349 let contentWidth = 0 ;
349350 let pageWidth = 0 ;
351+ let isClickPageEnabled = false ; // 点击翻页功能状态
350352
351353 let fontSize = "small" ;
352354 let fontFamily = "system-ui, -apple-system, sans-serif" ;
@@ -386,8 +388,8 @@ function initScript() {
386388 var el = document . querySelector ( '.container' ) ;
387389 if ( ! isKindleMode ( ) ) {
388390 var sortable = Sortable . create ( el , {
389- delay : 10 , // 延迟100ms后才开始拖动,给用户选择文字的时间
390- delayOnTouchOnly : false , // 在触摸设备上也应用延迟
391+ delay : 300 , // 延迟300ms后才开始拖动,避免移动端滑动时误触发
392+ delayOnTouchOnly : true , // 只在触摸设备上应用延迟
391393 filter : '#eb-content, #pageJumpInput, .page-height-adjustment, #customCssInput' , // 允许直接选择#eb-content中的文字
392394 preventOnFilter : false , // 过滤时不阻止默认行为
393395 onStart : function ( evt ) {
@@ -982,22 +984,79 @@ function initScript() {
982984 }
983985 } ) ;
984986
985- // 监听点击事件
986- if ( isKindleMode ( ) ) {
987- content . addEventListener ( 'click' , function ( e ) {
988- const screenWidth = window . innerWidth ;
989- const targetArea = screenWidth * 0.2 ;
990-
991- // 左侧40px内点击
992- if ( e . clientX < targetArea ) {
993- prevPageBtn . click ( ) ;
994- }
995- // 右侧40px内点击
996- else if ( e . clientX > screenWidth - targetArea ) {
997- nextPageBtn . click ( ) ;
998- }
999- } ) ;
987+ // 点击翻页功能
988+ function handleClickPage ( e ) {
989+ if ( ! isClickPageEnabled || ! isPaginationMode ) return ;
990+
991+ const screenWidth = window . innerWidth ;
992+ const targetArea = screenWidth * 0.2 ;
993+
994+ // 左侧20%区域点击
995+ if ( e . clientX < targetArea ) {
996+ prevPageBtn . click ( ) ;
997+ }
998+ // 右侧20%区域点击
999+ else if ( e . clientX > screenWidth - targetArea ) {
1000+ nextPageBtn . click ( ) ;
1001+ }
1002+ }
1003+
1004+ // 初始化点击翻页功能状态
1005+ function initClickPageState ( ) {
1006+ if ( ! isKindleMode ( ) ) {
1007+ isClickPageEnabled = localStorage . getItem ( 'clickPageEnabled' ) === 'true' ;
1008+ } else {
1009+ isClickPageEnabled = getCookie ( 'clickPageEnabled' ) === 'true' ;
1010+ }
1011+ updateClickPageButton ( ) ;
1012+
1013+ // 如果是 Kindle 模式,默认开启点击翻页
1014+ if ( isKindleMode ( ) && localStorage . getItem ( 'clickPageEnabled' ) === null && getCookie ( 'clickPageEnabled' ) === null ) {
1015+ isClickPageEnabled = true ;
1016+ saveClickPageState ( ) ;
1017+ }
10001018 }
1019+
1020+ // 保存点击翻页功能状态
1021+ function saveClickPageState ( ) {
1022+ if ( ! isKindleMode ( ) ) {
1023+ localStorage . setItem ( 'clickPageEnabled' , isClickPageEnabled . toString ( ) ) ;
1024+ } else {
1025+ setCookie ( 'clickPageEnabled' , isClickPageEnabled . toString ( ) ) ;
1026+ }
1027+ }
1028+
1029+ // 更新点击翻页按钮状态
1030+ function updateClickPageButton ( ) {
1031+ if ( isClickPageEnabled ) {
1032+ toggleClickPageBtn . classList . add ( 'active' ) ;
1033+ toggleClickPageBtn . style . background = 'var(--primary)' ;
1034+ toggleClickPageBtn . style . color = 'white' ;
1035+ } else {
1036+ toggleClickPageBtn . classList . remove ( 'active' ) ;
1037+ toggleClickPageBtn . style . background = '' ;
1038+ toggleClickPageBtn . style . color = '' ;
1039+ }
1040+ }
1041+
1042+ // 初始化点击翻页功能状态
1043+ initClickPageState ( ) ;
1044+
1045+ // 监听点击事件
1046+ content . addEventListener ( 'click' , handleClickPage ) ;
1047+
1048+ // 点击翻页按钮点击事件
1049+ toggleClickPageBtn . addEventListener ( 'click' , function ( ) {
1050+ isClickPageEnabled = ! isClickPageEnabled ;
1051+ saveClickPageState ( ) ;
1052+ updateClickPageButton ( ) ;
1053+
1054+ if ( isClickPageEnabled ) {
1055+ showNotification ( 'Click to turn page enabled' , 'info' ) ;
1056+ } else {
1057+ showNotification ( 'Click to turn page disabled' , 'info' ) ;
1058+ }
1059+ } ) ;
10011060
10021061 // 自定义 css
10031062 customCssFunc ( ) ;
0 commit comments