Autor | Zpráva | ||
---|---|---|---|
juraj Profil |
Zdravím
mám dve otázky 1. V mozile firefox, ak vložím dve tabuľky a kliknem napr. na druhú tabuľku,tak mriežka nenaskočí na vybratú tabuľku a potom s kurzorom nemozem späť vyskočiť do divu 2. ak kliknem do riadku tak sa tiež tam nevloží smajlik z okna pripajám link na ukážku,kde si môžete stiahnúť aj súbory insert.inzerciatop.sk aj kód na index.php <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script type="text/javascript"> var oDoc, sDefTxt; function initDoc() { document.designMode = 'on'; document.body.contentEditable = 'true'; oDoc = document.getElementById("textBox"); sDefTxt = oDoc.innerHTML; if (document.compForm.switchMode.checked) { setDocMode(true); } if (document.getElementById("form").switchMode.checked){ setDocMode(true); } } window.onload = function () { oDoc = document.getElementById("textBox"); sDefTxt = oDoc.innerHTML; // if (document.compForm.switchMode.checked) { setDocMode(true); } if (document.getElementById("form").switchMode.checked) { setDocMode(true); } document.getElementById("form").onsubmit = function onSubmit(form) { if(validateMode()){this.myDoc.value=oDoc.innerHTML;return true;}return false; } } function formatDoc(sCmd, sValue) { if (validateMode()) { document.execCommand(sCmd, false, sValue); oDoc.focus(); } } function validateMode() { if (!document.getElementById("form").switchMode.checked) { return true ; } alert("Uncheck \"Ukaz HTML\"."); oDoc.focus(); return false; } function setDocMode(bToSource) { var oContent; if (bToSource) { oContent = document.createTextNode(oDoc.innerHTML); oDoc.innerHTML = ""; var oPre = document.createElement("pre"); oDoc.contentEditable = false; oPre.id = "sourceText"; oPre.contentEditable = true; oPre.appendChild(oContent); oDoc.appendChild(oPre); } else { if (document.all) { oDoc.innerHTML = oDoc.innerText; } else { oContent = document.createRange(); oContent.selectNodeContents(oDoc.firstChild); oDoc.innerHTML = oContent.toString(); } oDoc.contentEditable = true; } oDoc.focus(); } function tabulkyn() { // var range =getFirstRange(); var myTableDiv = document.getElementById("textBox"); var table = document.createElement('TABLE'); table.border = '1'; table.style='position:relative;margin-bottom:40px;padding: 5px;'; var tableBody = document.createElement('TBODY'); table.appendChild(tableBody); table.setAttribute("onclick", "yourFun(this)"); for (var i = 0; i < 3 ; i++) { var tr = document.createElement('TR'); tableBody.appendChild(tr); for (var j = 0; j < 5; j++) { var td = document.createElement('TD'); td.width = '50'; td.height = '50'; td.style.backgroundColor = "red"; //************************************************ td.setAttribute("onclick", "yourFun(this)"); td.setAttribute("onclick", "yourFun(this)"); tr.appendChild(td); } } myTableDiv.appendChild(table); }; function setFunction() { var myTableDiv = document.getElementById("textBox"); var tds = myTableDiv.getElementsByTagName("td"); for (var i = 0; i < tds.length; i++) { tds[i].setAttribute("onclick", "yourFun(this)"); } } function yourFun(tdObj) { tdObj.style.backgroundColor = "green"; } </script> <body > <form id="form" name="inputj" method="post"> <input type="hidden" name="myDoc"> <div id="toolBar1"> <button type="button" onclick="tabulkyn()">Vlozit tabulku</button> <a href="#" title="i" onClick='targetitems = document.getElementById("textBox"); dataitems = window.open("smajlik.php", "dataitems", "width=800,height=400,toolbar=no,menubar=no,scrollbars=yes"); dataitem1.targetitem1 = targetitem1' border="0" height="20" width="20">smajlik</a> </div> <div onclick="showCoords(event)" contenteditable="true" class="textBox1" id="textBox" > </div> <span id="editMode"><input type="checkbox" name="switchMode" id="switchBox" onchange="setDocMode(this.checked);" /> <label for="switchBox">Zobraz HTML</label></span> <br><p><input type="submit" value="Send" /></p> </form> <script> function special_bbcode(t) { if (opener && !opener.closed){ opener.document.getElementById('textBox').innerHTML = opener.document.getElementById('textBox').innerHTML+t; window.close(); }} </script> <a href="#" onclick="special_bbcode('<img src=smiley.png >');return false;"><img src="smiley.png" > </a> |
||
Časová prodleva: 4 dny
|
|||
Chamurappi Profil |
#2 · Zasláno: 2. 1. 2016, 01:55:04
Reaguji na juraje:
„ table.setAttribute("onclick", "yourFun(this)"); “
Tomuhle bych se vyhnul. „ table.style='position:relative;margin-bottom:40px;padding: 5px;'; “
Tomu také. Když už, tak table.style.cssText . Lepší by bylo měnit třídu (vlastnost className ).
„ak kliknem do riadku tak sa tiež tam nevloží smajlik z okna“ Vkládáš ho očividně na konec, přidáním do innerHTML . Jde ho vložit i přes nějaké ty WYSIWYG funkce přímo na pozici kurzoru, na přesný kód si nevzpomínám, tuším, že je tam i nějaká meziprohlížečová nuance.
Mimochodem, proč používáš na smajlíky nové okno? Není to trochu nešikovné? Minimálně na dotykových zařízeních s tím budou problémy, na tvém místě bych zobrazil blok s výběrem smajlíků někde ve stránce… |
||
Časová prodleva: 9 let
|
0