Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Elementy strony wyłączone z body onclick
Forum PHP.pl > Forum > Przedszkole
S_Olewniczak
Jak w JavieScript zrobic coś takiego żeby gdy użytkownik aplikacji naciśnie na ekran wykonywała się jakaś funkcja, a gdy naciśnie na jakiś inny element strony wykonywała się inna funkcja?
decha-design
  1. <a href="#" onClick="funckja();">aaa</a>


Byłoby to na takiej zasadzie. Jeżeli potrzebujesz bardziej rozbudowanych możliwości, poczytaj o jQuery
Black-Berry
Cytat(S_Olewniczak @ 3.09.2008, 19:01:32 ) *
Jak w JavieScript zrobic coś takiego żeby gdy użytkownik aplikacji naciśnie na ekran wykonywała się jakaś funkcja, a gdy naciśnie na jakiś inny element strony wykonywała się inna funkcja?

Co rozumiesz przez 'ekran' ?
skowron-line
Cytat(Black-Berry @ 3.09.2008, 18:15:10 ) *
Co rozumiesz przez 'ekran' ?

No jak to co jak dotkniesz palcem monitora smile.gif

Kod
<script type="text/javascript">
function showMe( txt ){
alert( txt );
}
</script>
<body onclick="showMe( 'kliknieto w body' );">
<input type="button" onclick="showMe( 'kliknieto w button' );" value="click">
</body>
Black-Berry
pokrecone pytanie blinksmiley.gif
S_Olewniczak
Spróbujcie sobie stworzyć prosty skrypt zawierający dwie funkcje np

Kod
function ButtonPress() {
alert ("Przyciścnięto przycisk");
}

function BodyPress() {
alert ("Przyciśnięto <body>");
}


I prosty plik HTML:

Kod
<html>
<head>
<script type="text/javascript" src="MojSkrypt.js"></script>
</head>
<body onclick="BodyPress()">
<div onclick="ButtonPress()">AAA</div>
</body>
</html>


Gdy klikniecie na div'a wykonają się wam dwie funkcje (ButtonPress, BodyPress), a ja chciałbym, żeby w przypadku kliknięcia na div'a wykonała się funkcja ButtonPress, a gdy użytkownik kliknie na dowolny inny obszar(poza div'em) wykonała się funkcja BodyPress. Czy teraz już wszystko jasne? smile.gif
Black-Berry
Teraz jasne smile.gif Przeanalizuj sobie ten kod. To jest ten sam problem. Jeśli masz diva który chcesz wyświetlić po kliknięciu np jakiegoś obrazka a ukryć klikając na dowolny inny element strony.

Kod
var edcPopupDivCurrentElement = false;

function edcPopupDivShow(id, event)
{
    edcPopupDivHide();
    document.getElementById(id).style.display = 'block';
    edcPopupDivCurrentElement = id;
    edcPopupDivStopEvent(event);
}

function edcPopupDivHide()
{
    if (edcPopupDivCurrentElement) {
        document.getElementById(edcPopupDivCurrentElement).style.display = 'none';
    }
}

function edcPopupDivStopEvent(event)
{
    if (event.stopPropagation) {
        event.stopPropagation();
    } else {
        event.cancelBubble = true;
    }
}


  1. <body onclick="edcPopupDivHide();">


  1. <divstyle="display: none; width:100px; height:100px;" onclick="edcPopupDivStopEvent(event);">Lorem ipsum</div>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.