开发者

Can't change onclick dynamically through javascript: bookmarklet

开发者 https://www.devze.com 2023-03-22 19:48 出处:网络
I\'ve tried to change the onclick function through a bookmarklet in the url using this code: javascript: document.getElementById(\'Button1\').onclick = function(){alert(\'foo\')};void(0);

I've tried to change the onclick function through a bookmarklet in the url using this code:

javascript: document.getElementById('Button1').onclick = function(){alert('foo')};void(0);

I can change the value of the button but just not the onclick 开发者_JAVA技巧function. Is it even possible? Thanks ^^

Some notes: I've also tried putting the code in a .js file and creating an external .js file using createElementId but it still does not seem to work :/


You were missing the trailing semi-colon to terminate the alert call. It's easier to spot once you indent it:

document.getElementById('Button1').onclick = function() {
    alert('foo');
};


This code works. So the only option is that Button1 is not an ID of an element on that page.

For example:

<div id="Button1">Button</div>

If an element on the page looks like that, you will get your alert ('foo');


Your code seems to work...

Try to insert this code into the w3schools jseditor http://www.w3schools.com/js/tryit.asp?filename=tryjs_events

<html>
<body>

<button type="button" id="Button1" onclick="alert('Some action');">Action!!</button>

<button type="button" id="Button2" onclick="document.getElementById('Button1').onclick = function(){alert('another action')};">Change onclick</button>

</body>
</html> 
0

精彩评论

暂无评论...
验证码 换一张
取 消