javascript Textarea selection
AD MOB
Textarea selection - získání pozice karety kurzoru.
// FOR Gecko Browser selectionStart / selectionEnd selection length
function getPos(){
if (typeof document.getElementById('idTextarea').selectionStart != 'undefined') {
var nPosCursor = document.getElementById('idTextarea').selectionStart;
var nEndPos = document.getElementById('idTextarea').selectionEnd;
return nPosCursor;
}
return 0; // or -1
}
// source by javascript-array.com/guides/javascript_faq/
//Internet Explorer 4+, Mozilla/Gecko/Firefox
function getCaretPos(obj)
{
obj.focus();
if(obj.selectionStart) return obj.selectionStart; //Gecko
else if (document.selection) //Internet Explorer
{
var sel = document.selection.createRange();
var clone = sel.duplicate();
sel.collapse(true);
clone.moveToElementText(obj);
clone.setEndPoint('EndToEnd', sel);
return clone.text.length;
}
return 0;
}
77LW NO topic_id
AD
Další témata ....(Topics)
List of usefull JavaSript functions and constans
var 1_radian_to_degree = 180 / Math.PI; // 57,295779513082320876798154814105 degree
var 1_degree_to_radian = Math.PI / 180; // 0,01745329251994329576923690768489 radian
var 360_degree = 2 * Math.PI * 1_radian_to_degree;
parseInt("10.33") // returns 10 string to integer
parseFloat("10.33") // returns 10.33 string to float
// change sign
var a = -1;
a = a * -1; // +1
// random sign
a *= Math.floor(Math.random()*2) == 1 ? 1 : -1;
var who_is = 58;
var type = (typeof who_is); // number
Math.E // natural logarithms, e, approximately 2.718281828459045
Math.LN10 // natural logarithm of 10, approximately 2.302585092994046
Math.LN2 // natural logarithm of 2, approximately 0.6931471805599453
Math.PI // approximately 3.141592653589793
Math.SQRT1_2 // square root of 1/2 which is approximately 0.7071067811865476
Math.SQRT2 // square root of 2, approximately 1.4142135623730951
Math.pow(4, 2) = 16 // 4 x 4 ... base 4 to the exponent 2 power
Math.abs(-5) absolute value of a number // return 5
Math.tan(degrees * Math.PI / 180) // get tangent from degrees
Math.tan(degree * Math.PI / 180)*adjacent = opposite
opposite / Math.tan(degree * Math.PI / 180) = adjacent
Math.acos(adjacent / hypotenuse) // angle of a right-angle triangle in radians
Math.atan(opposite / adjacent) // angle of a right-angle triangle in radians
var adjacent = Math.cos(radian) * hypotenuse; // leng of adjacent side
// find the point on a circle if you know the circle´s radius
var x = Math.cos(pointAngleInRadiansFromCentreOfCircle) * radius;
var y = Math.sin(pointAngleInRadiansFromCentreOfCircle) * radius;
Math.cbrt(64) // cube root of a number 4 (4 x 4 x 4)
Math.exp(xNumber) // returns e<sup>xNumber</sup> ... e == Math.E
Math.ceil() // always rounds a number up to the next largest integer
Math.ceil(1.001) // 2
Math.floor() // returns largest integer less than or equal to a given number
Math.floor(5.85) = 5
Math.floor(-5.15) = -6
const arrayA = [2, 3, 1];
Math.min(...arrayA) = 1;
Math.max(1, 3, 2) = 3;
Math.random() // returns 0.000.... - 0.99999999999
Math.random() * 3 // returns 0.000 - 2.99999999999
Math.round() // returns value of a number rounded to the nearest integer.
Math.round(0.9) // 1
Math.round(5.5) // 6
Math.round(5.05) // 5
Math.floor(Math.random() * 3) // returns 0, 1, 2
Date: 14.06.2020 - 08:38Jak změřit čas trvání vykonání nějaké funkce, nebo provedení části kódu v PHP
$start_time = microtime(true);
// do some work
$end_time = microtime(true);
// Calculate execution time
$execution_time = ($end_time - $start_time);
echo " Execution time = ".$execution_time." sec";
Date: 11.06.2020 - 09:14Getter a Setter
Získej nebo Nastav.
Michal už není Váš kamarád, tak jej změníte pomocí set:
Získej nebo Nastav.
Třídy v javascript dovolují použití get a set instrukci.
get vrátí hodnotu určité zadané proměnné.
set jí může změnit.
class Person {
constructor(name) {
this.personName = name;
}
get pname() {
return this.personName;
}
// i kdyz set vypada jako funkce, musi mit pouze jeden parametr
set pname(x) {
this.personName = x;
}
}
var myFriend = new Person("Michael");
Jméno osoby přítele získáme například:
var strMyFriendName = myFriend.pname; // bez () na konci!!!!!!
alert(strMyFriendName);
Michal už není Váš kamarád, tak jej změníte pomocí set:
// hodnota se nepřirazuje do závorek (), ale pomocí = rovná se!!!!
myFriend.pname = "Renata";
strMyFriendName = myFriend.pname;
alert(strMyFriendName);
Třídy - class v javascript
Něco málo opakování na úvod:
Proměnná (variable) je místo, kam si ukládáme čísla, řetězce(text, znaky), objekty.
Narazíte možná často, že tomu tak není a kód není ukončen a na dalším řádku je definice
jiné proměnné, ale nespoléhejte na to, že si s tím prohlížeč vždy poradí a řádně ukončujte bloky kódu středníkem!
Je třeba jí co nejdříve definovat, jinak je to na malér.
Pole (array) je místo, kam ukládáme víc proměnných za sebou (do pole můžeme ukládat i objekty).
Objekt zpravidla vytváříme pomocí třídy.
Objektů může by mnoho, ale třída, pomocí které jsou vytvořeny, tak ta může být jen jedna.
Co je to třída?
Třída je taková šablona pro ukládaní dat, nebo vykonávání příkazů.
Lze jí přirovnat k formuláři, nebo dotazníku, kde má object (osoba) vyplnit
jméno, příjmení a další osobní údaje.
Formulář bude mít pro všechny zúčastněné stejné položky pro vyplnění,
ale každá osoba (object) do něj zapíše jiné údaje.
Takže nejdříve si vytvoříme třídu PersonalData.
Třída začíná velkým písmenem a slova se oddělují Velkým
písmenem, nebo _ podtržítkem (pro lepší čitelnost).
Třídní proměnné musíme označit this tečkou a názvem proměnné.
Před jméno třídní proměnné je dobré (až nutné) vložit prefix podtržítko _ a název
proměnné _nameOfVariable a tím ji odlišit od ostatních proměnných, potulujících
se v dalším kódu.
a protože constructor třídy umožňuje přímo při vytovření novéh Objectu vložit
i základní údaje, tak toho musíme využít.
nebo přistoupit k datům a použít privátní funkci
nebo použít veřejnou funkci např. pro získání popisu co třída umí
Něco málo opakování na úvod:
Proměnná (variable) je místo, kam si ukládáme čísla, řetězce(text, znaky), objekty.
var str = "ahoj světe!";
Kód, který patří k deklaraci, či definici určité proměnné, ukončujeme středníkem;Narazíte možná často, že tomu tak není a kód není ukončen a na dalším řádku je definice
jiné proměnné, ale nespoléhejte na to, že si s tím prohlížeč vždy poradí a řádně ukončujte bloky kódu středníkem!
// takhle raději ne - v budoucnu byste také mohli předělávat mnoho stránek kódu
a = 2
b = 3
// takhle je to správně, n před názvem proměnné označuje,
// že si tam, v našem případě, ukládáme číslo (number)
// s pak řetězec (string)
var nA = 2;
var nB = 3;
var sHello = "Hello world!";
// typ proměnné bychom sice v dalším kódu mohli ověřit
// pomocí <b>if (typeof myVariable == 'string')</b> atd.
// ale je to zbytečná práce navíc a znepřehledňuje to kód.
Deklarace proměnné je zapsání proměnné aniž by jste do ní vložili data.Je třeba jí co nejdříve definovat, jinak je to na malér.
var myDeklarationOfVariable;
Definice proměnné znamená, že do proměnné vložíme - přiřadíme jí hodnotu.
var myDefinitionOfVariable = "Tak, a už jsi definovaná!";
Definovat proměnnou můžeme i prázdným řetězcem, nebo u čísel se zadává -1 a pak již
kontrolujeme v kódu, jestli se hodnota proměnné změnila.Pole (array) je místo, kam ukládáme víc proměnných za sebou (do pole můžeme ukládat i objekty).
var ar = new Array("ahoj", "světe", "čau", "lidi!");
Objekt (Object) je místo, kam si můžeme ukládat nejen data, ale může obsahovat i funkce atd.Objekt zpravidla vytváříme pomocí třídy.
Objektů může by mnoho, ale třída, pomocí které jsou vytvořeny, tak ta může být jen jedna.
Co je to třída?
Třída je taková šablona pro ukládaní dat, nebo vykonávání příkazů.
Lze jí přirovnat k formuláři, nebo dotazníku, kde má object (osoba) vyplnit
jméno, příjmení a další osobní údaje.
Formulář bude mít pro všechny zúčastněné stejné položky pro vyplnění,
ale každá osoba (object) do něj zapíše jiné údaje.
Takže nejdříve si vytvoříme třídu PersonalData.
Třída začíná velkým písmenem a slova se oddělují Velkým
písmenem, nebo _ podtržítkem (pro lepší čitelnost).
Třídní proměnné musíme označit this tečkou a názvem proměnné.
Před jméno třídní proměnné je dobré (až nutné) vložit prefix podtržítko _ a název
proměnné _nameOfVariable a tím ji odlišit od ostatních proměnných, potulujících
se v dalším kódu.
class PersonalData {
// constructor slouží k základnímu nasavení konkrétního Object-u - osoby, věci atd.
constructor(name,family_name, profession) {
// před privátní proměnné dávejte prefix podtržítko
// za čas to nejedenkrát oceníte
this._name = name;
this._family_name = family_name;
this._profession = profession;
// myVariable = profession; // error
}
// třída může obsahovat i funkce. Pokud před funkcí není označení static
// pak se jedná o privátní fukci a může se používat jen přes konkrétní Object
// tedy přes osoba = new PersonalData( parametry ....)
// osoba.showPrivateContent()
// může mít i parametry
showPrivateContent(param){
alert (param " " + this._name + " " + this._family_name + " " + this._profession);
}
// tuto funkci může použít každy, aniž by musel vytvářet Object (konkrétní osobu)
// stačí PersonalData.showPrivateContent(param) a už běží!
// funkce ale nemá přístup k osobním údajům konktrétních Object-ů
// může mít i parametry
static showPublicIfno(param){
alert("Hello! This class can stored private data about any singers! " + param);
}
}
Dále si vytvořím Object (osobu), která vystavíme novou šablonu (formulář - třídu)a protože constructor třídy umožňuje přímo při vytovření novéh Objectu vložit
i základní údaje, tak toho musíme využít.
var michaelJackson = new PersonalData("Michael","Jackson","singer");
Nyní si již můžeme něco zjistit o tomto Objectu ze zadaných údajů např. jméno:
var strNameOfObject = michaelJackson._name;
nebo přistoupit k datům a použít privátní funkci
michaelJackson.showPrivateContent();
nebo použít veřejnou funkci např. pro získání popisu co třída umí
PersonalData.showPublicIfno('Bye Bye!');
CORS-Cross-Origin-Resource-Sharing Header set Access-Control-Allow-Origin Source Code Example
Usefull Links here
https://www.w3.org/wiki/CORS_EnabledApache .htaccess Allow File Types
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
<FilesMatch ".(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>
.htaccess which is closest to the file!!!!!
Date: 17.06.2020 - 08:09Editace: 18 10 2016
Počet článků v kategorii: 77
Url:javascript-textarea-selection
AD