setAttribute для IE
привет.
код newOption.setAttribute('ondragstart', 'delElem(this, event)') в IE не работает. подскажите, как надо написать, чтобы IE нормально это обрабатывал. |
|
сорри, не понял.
так newOption.attachEvent("ondragstart", function() { delElem(this, event) })тоже не работает. тут все дело в синтаксисе, а без примера сам будешь вечность пробовать... для более ясного понимания: при перетаскивании линка из одного пункта меню (обычный <ul>) в другой (пользовательский <select>) при отпускании кнопки мыши (ondrop) этот пункт меню должен добавиться в <select> со своими аргументами. в числе которых кроме прочих и ondragstart для удаления потом этого пункта из пользовательского меню. Сейчас в ФФ работает, а вот в ИЕ: Цитата:
|
В ie обработчики, добавленные через setAttribute, не работают. Да и, собственно, ни в одном браузере не обязаны. Вам скинули статью, почитайте. Для примера:
<div id="1">1</div> <div id="2">2</div> <script> div1= document.getElementById("1"); div2= document.getElementById("2"); div1.setAttribute("onclick", "alert('hi')"); // работает в ff (и ещё где-нибудь, наверное), но не в ie div2.onclick= function(){alert('hi')}; // работает везде </script> |
статью прочитал. еще до. понял, что такое ИЕ не обрабатывает, хотя ясно указано, что вторым аргументом в setAttribute идет строка. через свойство тоже пробовал:
newOption.ondragstart=function(){delElem(this, event)};в ФФ работает, в ИЕ - нет. |
До 8го ИЕ, на сколько я помню, не знает событие ondragstart.
|
проверяю на 8-ке - ничего...
|
<!DOCTYPE html> <html> <head> <script> window.onload = function(){ document.getElementById('drag').ondragstart = function(){ console.log('start') } } </script> </head> <body> <div style="position: absolute; background: black; top: 50px; left: 50px; width: 100px; height: 100px; border: 1px solid black;" id="drag"> reteas </div> </body> </html> Вроде как работает, вообще я соврал :) Даже в старых ИЕ работает, по крайней мере так показывает Platform Preview для 7ки. |
да я на dragstart и не жаловался. мне по drop'у надо создавать в выпадающем списке новый <option> с
ondragstart="dragElem(this, event)" и, судя по всему, именно здесь ИЕ жалуется на неправильный аргумент |
Цитата:
<!DOCTYPE html> <html> <head> <script> window.onload = function(){ var drag = document.getElementById('drag'), drop = document.getElementById('drop'); drag.ondragstart = function(){ console.log('start') } drop.ondrop = function(){ console.log('drop') window.event.returnValue = false; return false } drop.ondragover = function(){ console.log('over') window.event.returnValue = false; return false } } </script> </head> <body> <img style="position: absolute; top: 50px; left: 50px; width: 100px; height: 100px;" id="drag" src="img.jpg"> <div style="position: absolute; top: 150px; left: 50px; width: 150px; height: 150px; border: 1px solid black;" id="drop"> </div> </body> </html> Событие drop, не работает без события dragover, так как браузер определяет можно ли в этот элемент что то сбросить, когда по нему ползёт мышь. |
Часовой пояс GMT +3, время: 12:41. |