Assign javascript function to a dom element
I'm using the MSHTML library for parsing out HTML via MSHTML.HTMLDocument
.
my question: is there a way to assign a JavaScript function to a DOM element? I've tried something like:
div.onmouseover = "function(){alert('mouseover')}"
and
div.setattribute "onmouseover开发者_开发技巧" , "function(){alert('mouseover')}"
without success (no error, but no effect either).
Any ideas if it's possible?
Always use a function, rather than attaching a string of code in your javascript. You can do this by assigning an anonymous function. The function receives an event object as it's only argument, which has information about the event, if you need to know the x/y positions of where the mouse was.
div.onmouseover = function(event) {
//do stuff
};
Have you tried not using anonymous functions? For example instead of
div.onmouseover = "function(){alert('mouseover')}"
Use something like
div.onmouseover = "alert('mouseover');"
try using the
<script>
tag in your string
You are defining the function but not invoking it. You have to invoke the function by including the invocation parentheses. Use
div.setattribute "onmouseover" , "function(){alert('mouseover')}()"
div.onmouseover = function(){alert("mouseover")}
Try to use,
button.onclick = new Function(“someFunctionName(‘input” + counter + “‘)”);
instead of function(){alert("mouseover")
, this will work for dynamic created controls.
Note the spelling difference between function
and new Function
Try this:
div.setattribute "onmouseover" , "alert('mouseover');"
精彩评论