Prevent default on a click within a JQuery tabs in Google Chrome.

Posted by Sydney on Stack Overflow See other posts from Stack Overflow or by Sydney
Published on 2010-06-06T02:25:21Z Indexed on 2010/06/06 2:32 UTC
Read the original article Hit count: 259

Filed under:
|

I would like to prevent the default behaviour of a click on a link. I tried the return false; also javascript:void(0); in the href attribute but it doesn’t seem to work. It works fine in Firefox, but not in Chrome and IE.

I have a single tab that loads via AJAX the content which is a simple link.

<script type="text/javascript">
        $(function() {
            $("#tabs").tabs({
                ajaxOptions: {
                    error: function(xhr, status, index, anchor) {
                        $(anchor.hash).html("Couldn't load this tab. We'll try to fix this as soon as possible. If this wouldn't be a demo.");
                    },
                    success: function() {
                        alert('hello');
                        $('#lk').click(function() {
                            alert('Click Me');
                            return false;
                        });
                    }
                },
            load: function(event, ui) {
                    $('a', ui.panel).click(function() {
                        $(ui.panel).load(this.href);
                        return false;
                    });
                }           
            });
        });
</script>
<body>
      <div id="tabs">
        <ul>
            <li><a href="linkChild.htm">Link</a></li> 
        </ul>
      </div>
</body>

The content of linkChild.htm is

<a href="javascript:void(0)" id="lk">Click Me</a>

So basically when the tab content is loaded with success, a click event is attached to the link “lk”. When I click on the link, the alert is displayed but then link disappears. I check the HTML and the element is actually removed from the DOM.

© Stack Overflow or respective owner

Related posts about jquery-ui

Related posts about google-chrome