jQuery attr('onclick')

前端 未结 4 2013
Happy的楠姐
Happy的楠姐 2020-12-15 03:45

I\'am trying to change \"onclick\" attribute in jQuery but it doesn\'t change, here is my code:

$(\'#stop\').click(function() {
     $(\'next\').attr(\'oncli         


        
相关标签:
4条回答
  • 2020-12-15 04:13

    Do it the jQuery way (and fix the errors):

    $('#stop').click(function() {
         $('#next').click(stopMoving);
         // ^-- missing #
    });  // <-- missing );
    

    If the element already has a click handler attached via the onclick attribute, you have to remove it:

    $('#next').attr('onclick', '');
    

    Update: As @Drackir pointed out, you might also have to call $('#next').unbind('click'); in order to remove other click handlers attached via jQuery.

    But this is guessing here. As always: More information => better answers.

    0 讨论(0)
  • 2020-12-15 04:14

    The easyest way is to change .attr() function to a javascript function .setAttribute()

    $('#stop').click(function() {
        $('next')[0].setAttribute('onclick','stopMoving()');
    }
    
    0 讨论(0)
  • 2020-12-15 04:18

    As @Richard pointed out above, the onClick needs to have a capital 'C'.

    $('#stop').click(function() {
         $('next').attr('onClick','stopMoving()');
    }
    
    0 讨论(0)
  • 2020-12-15 04:20

    Felix Kling's way will work, (actually beat me to the punch), but I was also going to suggest to use

    $('#next').die().live('click', stopMoving);

    this might be a better way to do it if you run into problems and strange behaviors when the element is clicked multiple times.

    0 讨论(0)
提交回复
热议问题