Jump to content
php.lv forumi

Peles koordinātes un safari pārlūks.


Maris-S

Recommended Posts

Kārtējā dīvainā problēma safari pārlūkā. Doma ļoti vienkārša ir elements viņam uz onclick nosakās peles koordinātes. Viss strādā skaisti līdz brīdim kamēr tas elements nav input ar tipu button. Šajā gadījumā y koordināte nosakās nepareizi.

 

Reku kods:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Mouse coordinates</title>
<script type="text/javascript">
	function mouseCoordinates(e) {
		var pos_1=pos_2=0;
		if (!e)
			var e=window.event;

		if (e.pageX || e.pageY) 	{
			pos_1=e.pageX;
			pos_2=e.pageY;
		} else if (e.clientX || e.clientY) {
			pos_1=e.clientX+document.body.scrollLeft+document.documentElement.scrollLef
t;
			pos_2=e.clientY+document.body.scrollTop+document.documentElement.scrollTop;
		}

		return [pos_1, pos_2];
	}
</script>
</head>

<body style="margin: 15px">
<div style="width: 70px; height: 30px; background-color: lime" onclick="java script: alert(mouseCoordinates(event));"></div>
<input type="button" id="show_modal" name="show_modal" value="Parādīt logu" onclick="java script: alert(mouseCoordinates(event));">
</body>
</html>

 

Uzspiežot uz div elementu viss nosakās kā vajag, kā uz input (ja tips ir submit arī, ar pārējiem tipiem nemēģinaju) tā y koordināte nav pareiza. Nav kādas idejas kur varētu slēpties šī problēma?

Link to comment
Share on other sites

Pēc kā spried, ka y koordināte ir nepareiza?

 

Pieliec

document.body.onmousemove=function(e){document.title = mouseCoordinates(e);};

 

Man vismaz uz Win Safari 3.1.2 sakrita. Varbūt tev cita versija

Edited by indoom
Link to comment
Share on other sites

U document.onmousemove strādā pareizi. Spriežu ka y ir nepareizs vienkārši tāpēc ka pogai kas ir lapas augšā y koordināti uzrāda 600 ar kaut cik kaut gan nevajadzētu pārsniegt 50. Šis bags ir tieši uz input elementu, ja spied uz div vai arī uz document.onmousemove viss strādās precīzi. Man ir safari uz macintosha, par windowsīgo nezinu, vajadzēs pārbaudīt, bet ja tas piemērs ko es iemetu rāda pareizi, tad uz windowsa arī ir pareizi. Es venkārši taisu lodziņus, kas uzspiežot uz jebkuru elementu tiek izveidots (ja viņš vēl nav izveidots) un tiek parādīts peles koordināšu vietā. Tagad sanāk tā ka uz safari (mac) viņš parādās kaut kur lapas apakšā, bet kad viņu ar peli valkā viss ir normāli, tā kā document.onmousemove strādā pareizi. Man nav ne mazākās nojausmas kāpēc safari nepatīk inputs...

Link to comment
Share on other sites

×
×
  • Create New...