Home  >  Article  >  Web Front-end  >  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
DDDOriginal
2024-10-22 07:15:03894browse

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>

with:

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

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>

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!

Statement:
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