Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   И снова про координаты мыши (https://javascript.ru/forum/jquery/15908-i-snova-pro-koordinaty-myshi.html)

Jeer 19.03.2011 17:18

Цитата:

Сообщение от Kolyaj (Сообщение 97218)
И что теперь? Руками 5 букв не написать?

Так я и спрашиваю какие?? что написать-то?

Jeer 19.03.2011 17:22

а, то есть Вы хотите сказать, что этот код работает, хоть и не распознаётся, так? Если вижуал студия не видит, я так понимал, что она пропускает этот кусок на мимо. И работает только в ИЕ, как писалось раньше, все ясно теперь. А что тогда с другими браузерами? Как-то это неправильно, что в ИЕ можно узнать координаты, а в опере или ФФ нельзя.

Kolyaj 19.03.2011 17:31

Вам kostr дал кроссбраузерное решение.

Jeer 19.03.2011 17:47

Цитата:

Сообщение от Kolyaj (Сообщение 97224)
Вам kostr дал кроссбраузерное решение.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Jeer.aspx.cs" Inherits="Jeer" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.js">
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="granica"
style="position:absolute; width:99%; height:99%; cursor: pointer;">
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>

<script type="text/javascript">
$("#granica").mousedown(function () {
var mouX = 0, mouY = 0;
if (!e) e = window.event;
if (e.pageX || e.pageY) {
mouX = e.pageX;
mouY = e.pageY;
} else if (e.clientX || e.clientY) {
mouX = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
mouY = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
}
$("#Label1").text("mouX-" + mouX + "mouY-" + mouY);
});
</script>
</form>
</body>
</html>
-----------------------------
У меня есть div (id="granica") который занимает всю страницу. В него добавлен Label (ID="Label1"). При нажатии в любом месте экрана должны в Лэйбл вывестись координаты нажатой кнопки, НО! этого не происходит, в браузере пишет в низу желтый треугольник с черным восклицательным знаком и сообщением "Ошибка на странице". Это происходит из-за того, что
if (!e) e = window.event;
не определено.

Kolyaj 19.03.2011 20:02

Это происходит из-за того, что вы приведённый пример не полностью скопировали.

Jeer 21.03.2011 10:28

Цитата:

Сообщение от Kolyaj (Сообщение 97241)
Это происходит из-за того, что вы приведённый пример не полностью скопировали.

$("#granica").mousedown(function (e) {

крутяк, ребят, просто надо было поспать пару дней, действительно работает, а я уже впал в уныние =) спасибо большое!


Часовой пояс GMT +3, время: 16:55.