|
|
|
| подскажите , как сделать что-бы FF увидел положение курсора мыши из функции
<html>
<head>
<style type="text/css">
div { background: #777; padding: 15px; }
</style>
<script>
function test(){
x = event.clientX; // Ошибка: event is not defined
y = event.clientY;
alert(x + '/' + y);
}
</script>
<head>
<body>
<div onclick="alert(event.clientX+'/'+event.clientY);">1</div>
<br>
<div onclick="test();">2</div>
</body>
</html>
|
в первом див видит ,
во втором не видит | |
|
|
|
|
|
|
|
|
для: ilyaILF
(15.03.2008 в 21:07)
| | там в качестве параметра передаётся, сделал так-же,
но теперь совсем ещё хуже что-то обнаружилось
Предупреждение: Элемент доступен по идентификатору/имени в глобальной области видимости. Используйте вместо этого соответствующий стандарту W3C метод document.getElemenById().
Источник: file:///.....
Строка: .....
куда только уже не приделывал это ,
появлялась другая ошибка , что getElemenById() не является функцией
уже подумываю что для FF нереально сделать такие всплывающие подсказки
<html>
<head>
<style type="text/css">
#vspl { visibility:hidden; position:absolute; left:0; top:0; border-style:solid; border-color: #000000; border-width:1px; width:400px; height:10px; background-color: #f5f5f5; padding: 0 15px; z-index: 3;}
</style>
<script>
var hide=true;
function vis(event, word){
_x = event.clientX;
_y = event.clientY;
_dx = 5;
left = false;
right = false;
if (_dx + _x + vspl.clientWidth > document.body.clientWidth){
_x = document.body.clientWidth - vspl.clientWidth - _dx;
left=true;
}
if (_dx+_y+vspl.clientHeight > document.body.clientHeight) {
_y=document.body.clientHeight - vspl.clientHeight - _dx;
right=true;
}
if (left && right) _y = document.body.clientHeight - vspl.clientHeight - _dx * 4;
vspl.style.left=_x;
vspl.style.top= _y + document.body.scrollTop;
if(hide){
vspl.innerHTML=word;
vspl.style.visibility="visible";
hide=false;
}
}
function hid(){
// var vspl = document.getElemenById('vspl');
vspl.style.visibility = "hidden";
vspl.innerHTML="";
vspl.style.top=0;
vspl.style.left=0;
hide=true;
}
</script>
<head>
<body>
<div id="vspl"></div>
<pre>
<span onmousemove="vis(event, 'целочисленный регистр MMX-расширения')" onmouseout="hid()">MMX7</span>
<span onmousemove="vis(event, 'регистр MMX-расширения с плавающей точкой')" onmouseout="hid()">XMM7</span>
</pre>
</body>
</html>
| и подозрения уже что FF тоже сделал MS чтобы показать что их IE ещё не самая плохая штука :)
ещё и теперь усомнился что можно как-то для целого класса указать эти onmousemove="..." onmouseout="..." . хоть как-нибудь можно не прописывать их в каждом теге, а где-то в CSS например ? | |
|
|
|
|
|
|
|
для: exp
(15.03.2008 в 23:23)
| | getElementById('vspl') | |
|
|
|
|
|
|
|
для: ilyaILF
(15.03.2008 в 23:58)
| | я так и делал :) все варианты перебрал с vspl и getElementById('vspl')
даже в качестве параметра передавал, хотя в остальных случаях
вроде нормально всё передаётся , такое например
function scaner(x) {
alls = x
for (key in alls)
{
document.write( String(key)+'==='+String(alls[key] ).replace(/</g, '<') + '<hr>\n');
}
}
scaner(document)
|
или я чего-то недогоняю , хоть я и так не совсем всё понял в этом коде,
или наверно слишком старое у меня FF - 1.5 | |
|
|
|
|
|
|
|
для: exp
(16.03.2008 в 02:25)
| | вообще-то заработало :)
поменял onmousemove на onmouseover | |
|
|
|