這次帶給大家ionic應用程式里文字不能長按複製、貼上怎麼辦,解決ionic應用程式裡文字不能長按複製、貼上的注意事項有哪些,下面就是實戰案例,一起來看一下。
專案接近上線,遇到了奇葩問題,ionic中的文字是無法像普通wap頁面一樣複製貼上的。
翻了翻官方文件和中文網站,都沒有對這個問題的說明。
以下網址是Google搜尋第一條的結果:
http://ionichina.com/topic/55d18fff628dd6dc21b07d75
這裡的方法都試過,但都不理想。
後來經過多方查找資料,解決了這個問題。接下來分享給大家。
直接上程式碼:
html部分
<html ng-app="ionicApp"><head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> <title>Ionic文字复制问题</title> <link href="http://code.ionicframework.com/1.0.0-beta.4/css/ionic.css" rel="stylesheet"> <script src="http://code.ionicframework.com/1.0.0-beta.4/js/ionic.bundle.js"></script></head><body ng-controller="MyCtrl"> <ion-header-bar class="bar-positive"> <h1 class="title">ionic 测试copy</h1> </ion-header-bar> <ion-content overflow-scroll='true'> <div class="selectable">幻灯片1测试文字,试试可以复制</div> </ion-content></body></html>
css部分
ion-content{ overflow-scroll: true; }.scroll-content { -webkit-user-select: auto !important; -moz-user-select: auto !important; -ms-user-select: auto !important; user-select: auto !important; }.selectable { -webkit-user-select: auto;//控制网页内容选择范围 }
js部分
angular.module('ionicApp', ['ionic']) .controller('MyCtrl', function($scope) { stop_browser_behavior: false self.touchStart = function(e) { self.startCoordinates = getPointerCoordinates(e); if ( ionic.tap.ignoreScrollStart(e) ) { return; } if( ionic.tap.containsOrIsTextInput(e.target) ) { // do not start if the target is a text input // if there is a touchmove on this input, then we can start the scroll self.hasStarted = false; return; } self.isSelectable = true; self.enableScrollY = true; self.hasStarted = true; self.doTouchStart(e.touches, e.timeStamp); // e.preventDefault();}; });
透過程式碼我們可以看到,首先在html中,加入overflow-scroll='true',然後在我們想要複製文字的容器上,加入自訂類,程式碼中我們加入的是'.selectable' ,在這個類別上設定我們的css樣式。
這裡要注意的是,這個自訂類,不能加在ionic的特定標籤上。如下:
<ion-content class="selectable" overflow-scroll="true">
這樣寫,是無效的,我們必須這樣寫:
<ion-content overflow-scroll='true'> <div class="selectable">幻灯片1测试文字,试试可以复制</div> </ion-content>
表示我就是因為這個沒寫對,調試了半天出不來效果。 。 。
最後一步就是在頁面對應的controller裡面拷貝如上js程式碼。
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
相關閱讀:
以上是ionic應用程式里文字不能長按複製、貼上怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!