Home > Web Front-end > JS Tutorial > How to Prevent Immediate Invocation of Javascript OnClickListener Function during Anchor Tag Creation?

How to Prevent Immediate Invocation of Javascript OnClickListener Function during Anchor Tag Creation?

DDD
Release: 2024-10-22 07:15:03
Original
994 people have browsed it

How to Prevent Immediate Invocation of Javascript OnClickListener Function during Anchor Tag Creation?

Javascript OnClickListener Function Triggered Immediately

When attempting to create an anchor tag that mimics the appearance of a traditional link but triggers a function rather than redirecting to a new page, the onclick function is invoked upon creating the link, regardless of user input. This prevents any subsequent manual clicking of the link.

The issue lies in the improper implementation of the onclick function. Instead of assigning the actual function itself (secondFunction()), the correct syntax is to reference the function (secondFunction). This ensures that the function is only called when the onclick event occurs, not upon its declaration.

To rectify this, replace:

<code class="javascript">sentNode.setAttribute('onclick', secondFunction());</code>
Copy after login

with:

<code class="javascript">sentNode.onclick = secondFunction();</code>
Copy after login

This will pass a reference to the secondFunction function, enabling it to be called when clicked. The corrected code should appear as follows:

<code class="javascript">function startFunction() {
    var sentNode = document.createElement('a');
        sentNode.setAttribute('href', "#");
        sentNode.onclick = secondFunction;  // Assign the function reference
        sentNode.innerHTML = "Sent Items";

    //Add new element to parent
    var parentNode = document.getElementById('parent');
    var childNode = document.getElementById('sendNode');
    parentNode.insertBefore(sentNode, childNode);
}</code>
Copy after login

By following these steps, the onclick function will be correctly assigned, allowing the link to function as intended without immediate invocation upon its creation.

The above is the detailed content of How to Prevent Immediate Invocation of Javascript OnClickListener Function during Anchor Tag Creation?. For more information, please follow other related articles on the PHP Chinese website!

source:php
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template