Avatar billede katze_essen Nybegynder
11. januar 2011 - 09:12 Der er 4 kommentarer

Confirm på en tr med onClick

Hej Eksperter,

Jeg sidder med et lille problem her. Jeg arbejder med jQurry, hvor jeg på et tablerow (tr) har en css class, som sikre et klik på denne linker til det første a tag inde i det.

I det row har jeg så en slet knap som viser en confirm, at vise denne confirm virker fint, og jeg bruger allerede på knappen:

$('.jqCancelBubble').click(function (e) {
        agent = jQuery.browser;
        if (agent.msie) {
            e.cancelBubble = true;
        } else {
            e.stopPropagation();
        }
    });

Så det er ikke det der er mit problem, men hvis jeg trykker 'Nej/Cancel', aktivere den alligevel mit row klik.

Nogen som har en læsning, eller ved hvor jeg kan finde et?

Mange tak
Avatar billede madeindk Nybegynder
11. januar 2011 - 09:23 #1
Kan man et sted se hele koden for, det tror jeg vil gøre det væsentlig nemmere?
Avatar billede katze_essen Nybegynder
11. januar 2011 - 09:38 #2
Kan ikke vise hele koden, men der er ikke meget at se, kan vise noget af det her:

// Dette et mit tablerow med min knap
<tr style="cursor: pointer;" class="jqClickBox">
  <td>
    <a onclick="return confirm(&#39;Er du sikker?&#39;);"
    class="jqCancelBubble" href="java script:__doPostBack
    (blabla .net)">
      Slet
    </a>
  </td>
</td>

// Javascript / jQuery

    // IE7 Focus Hack/Fix...
    if (jQuery.browser.msie === true) {
        jQuery('input')
                .bind('focus', function () {
                    $(this).addClass(' ieFocusHack');
                }).bind('blur', function () {
                    $(this).removeClass(' ieFocusHack');
                });
    }


    $('.jqClickBox').click(function () {

        var input = false;

        // IE7 Focus hack...
        $($('.ieFocusHack')).each(function () {
            input = true;
        });

        if (!input) { // if you click on 'input' type control,
                      // the page til not redirect

            var target = $(this).find('a:first').attr('href');
            if (target != undefined)
                open(target, '_self');
        }
    });

--------------------------

Jeg ser nu at det kun er i IE der er problemer, FF forstår det godt. Hvilket får mig til at tro det er mit IE Focus hack, der er synderen?
Avatar billede jakobdo Ekspert
11. januar 2011 - 10:02 #3
Du kunne prøve at smide denne ind:

Hvis der trykkes cancel/nej.
e.preventDefault()
Avatar billede katze_essen Nybegynder
11. januar 2011 - 10:24 #4
Tak =) Imens jeg prøvede mig frem med
  e.preventDefault()
Fandt jeg ud af det var min IE Fucus Hack, den skal inkludere a tag, så den bliver:

// IE7 Focus Hack/Fix...
    if (jQuery.browser.msie === true) {
        jQuery('input, a')
                .bind('focus', function () {
                    $(this).addClass(' ieFocusHack');
                }).bind('blur', function () {
                    $(this).removeClass(' ieFocusHack');
                });
    }

Nu virker det fint =)

Mange tak for jeres hjælp...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester