admin管理员组

文章数量:1403522

I'm having trouble getting the following to work:

$('#elem').trigger('click');

When I run it, it doesn't trigger a click but it doesn't show any error logs in the console either.

I've also tried the following with no luck:

$('#elem')[0].click();

Any ideas as to what could be going wrong or a solution for this?

Update: Jquery is working and when I inspect the element, #elem does appear (it's an id for a button)

HTML:

<a:button id="elem">My Button</Button>

JQuery:

P.when('A', 'jQuery').execute(function (A, $) {
    //when this function is called, it should trigger a button click
    triggerButtonClick = function() {
        $('#elem').trigger('click'); 
    };
});

I'm having trouble getting the following to work:

$('#elem').trigger('click');

When I run it, it doesn't trigger a click but it doesn't show any error logs in the console either.

I've also tried the following with no luck:

$('#elem')[0].click();

Any ideas as to what could be going wrong or a solution for this?

Update: Jquery is working and when I inspect the element, #elem does appear (it's an id for a button)

HTML:

<a:button id="elem">My Button</Button>

JQuery:

P.when('A', 'jQuery').execute(function (A, $) {
    //when this function is called, it should trigger a button click
    triggerButtonClick = function() {
        $('#elem').trigger('click'); 
    };
});
Share Improve this question edited Feb 12, 2016 at 6:12 cvoep28 asked Feb 12, 2016 at 5:57 cvoep28cvoep28 4235 gold badges11 silver badges22 bronze badges 7
  • 2 Is element in the DOM when you trigger ? – Rayon Commented Feb 12, 2016 at 5:58
  • are you sure the element exists when the code is run? – Richard Theobald Commented Feb 12, 2016 at 5:58
  • Make sure event handler is placed before the trigger. It works here – Rayon Commented Feb 12, 2016 at 6:00
  • Do you have jQuery working? Do you have click handler attached? Make a fiddle otherwise. – Adil Commented Feb 12, 2016 at 6:00
  • 1 try it n document.ready function – Sravan Commented Feb 12, 2016 at 6:04
 |  Show 2 more ments

4 Answers 4

Reset to default 2

Try it in document.ready function, then all dom loads when the document is ready.You can do something like this based on your requirement.

$( document ).ready(function() {
    $('#radio').click(function(){
      $('#elem')[0].click();
  })	  
});

i have tried this code and it works

<!DOCTYPE html>
 <html>
 <head>
 <link rel="stylesheet" href="http://maxcdn.bootstrapcdn./bootstrap/3.3.6/css/bootstrap.min.css">
 <script src="https://ajax.googleapis./ajax/libs/jquery/1.12.0/jquery.min.js"></script>
 <script src="http://maxcdn.bootstrapcdn./bootstrap/3.3.6/js/bootstrap.min.js">     </script>
<script src="https://ajax.googleapis./ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("chk1").click(function(){
    $('#usr').trigger('click');
  });
});
</script>
</head>
<body>
<form action="sample.php">
<button id="chk1">click</button>
<input class="form-control" type="submit" id="usr">
</form>
</body>
</html>

this code works for me:

$(window).load(function() {
    $('#menu_toggle').trigger('click');   
});

$(document).ready(function () {



        $('#elem').click(function () {
            alert('clicked');
            $(this).css('color', 'red');
        });

        $('#elem').trigger('click');

    });
<!DOCTYPE html>
<html>
  <script src="https://ajax.googleapis./ajax/libs/jquery/1.12.0/jquery.min.js"></script>

<body>
 <div id="elem" >test</div>
 </body>
</html>

本文标签: javascriptJQuery trigger click event not workingStack Overflow