У меня есть динамически созданная таблица, которая использует «contenteditable».
Недавно у меня был пользователь, пытающийся использовать веб-страницу через Microsoft Edge, и ни одно из полей не работает. Затем я попробовал это на своем компьютере, и у меня возникла та же проблема.
Я использую Google Chrome для разработки, и это прекрасно работает, и в документации говорится, что Edge поддерживается.
Вот код, который генерирует строки моей таблицы:
while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
echo "<tr>";
echo "<td style='width:10%;overflow:auto;border-left:1px solid #ddd;'>
<div style='cursor:pointer' name='del' class='fa fa-times-circle fa-lg button2' aria-hidden='true'>
<div style='display:none'>
".$row['uniqueID']."</div>
</div>
</td>";
echo "<td style='width:10%;overflow:auto;' id='Readable:".$row['uniqueID']."' contenteditable='true'>
".$row['Readable']."</td>";
echo "<td style='width:10%;overflow:auto;' id='Type:".$row['uniqueID']."' contenteditable='true'>
".$row['Type']."</td>";
echo "<td style='width:10%;overflow:auto;' id='Category:".$row['uniqueID']."' contenteditable='true'>
".$row['Category']."</td>";
echo "<td style='width:10%;overflow:auto;' id='Status:".$row['uniqueID']."' contenteditable='true'>
".$row['Status']."</td>";
echo "<td style='width:10%;overflow:auto;' id='ShelfID:".$row['uniqueID']."' contenteditable='true'>
".$row['ShelfID']."</td>";
echo "<td style='width:10%;overflow:auto;' id='LocationID:".$row['uniqueID']."' contenteditable='true'>
".$row['LocationID']."</td>";
echo "<td style='width:10%;overflow:auto;' id='Height:".$row['uniqueID']."' contenteditable='true'>
".$row['Height']."</td>";
echo "<td style='width:10%;overflow:auto;' id='ListingStatus:".$row['uniqueID']."' contenteditable='true'>
".$row['ListingStatus']."</td>";
echo "<td style='width:10%;overflow:auto;border-right:1px solid #ddd;' id='Sales:".$row['uniqueID']."' contenteditable='true'>
".$row['Sales']."</td>";
echo "</tr>";
}
Это какая-то несовместимость? Что я могу сделать, чтобы решить эту проблему?
Чтобы избежать подобных проблем и максимизировать совместимость, лучше использовать contentEditable только для ограниченного числа тегов, таких как div, если вы используете его в других элементах, таких как td, вы можете столкнуться с проблемами, подобными этой.
Таким образом, решение было бы включить div в каждую из этих ячеек и сделать эти элементы div элементами contentEditable.
Других решений пока нет …