| 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: 11 let
|
|||
0