- 1 1. Introduction – What Is “javascript:void(0)”?
- 2 2. Core Concepts of “javascript:void(0)”
- 3 3. Practical Usage Examples and Implementation
- 4 4. Advantages and Caveats – Should You Really Use It?
- 5 5. Alternatives and Modern Best Practices
- 6 6. Code Examples by Use Case
- 7 7. Summary – How to Use “javascript:void(0)” and Future Choices
1. Introduction – What Is “javascript:void(0)”?
When learning JavaScript, you may encounter the notation javascript:void(0) in source code. At first glance, this expression can be difficult to understand. However, it is one of the important techniques used to control user interactions and event handling on web pages.
In this article, we clearly explain the meaning and role of javascript:void(0), along with practical usage examples. We also cover important cautions and modern alternatives in detail.
1-1. A Common Question: What Is “javascript:void(0)”?
javascript:void(0) is a JavaScript expression used to prevent the default behavior of links or buttons while allowing custom logic to be executed instead.
Normally, HTML anchor tags (<a>) navigate to a specified URL when clicked. However, when you want a link to behave like a button without navigating anywhere, javascript:void(0) becomes useful.
Here is a simple example:
<a href="javascript:void(0);">Click</a>Clicking this link does nothing. Instead, you can attach JavaScript event handling logic to control the behavior.
1-2. Reader Challenges and Article Objectives
There are many ways to control links and buttons when implementing custom event handling on web pages. However, javascript:void(0) can be confusing for beginners, and incorrect usage may negatively impact SEO and accessibility.
This article covers the following topics to help you understand and use javascript:void(0) correctly in practice:
- The basic concept and implementation of
javascript:void(0) - Important cautions and disadvantages
- Safer and more modern alternatives
By acquiring this knowledge, readers will be able to build more modern and efficient web applications.
2. Core Concepts of “javascript:void(0)”
javascript:void(0) is a JavaScript expression primarily used to disable the default behavior of links or buttons. In this section, we explain how the void operator works and what void(0) actually means.
2-1. Meaning and Role of void
In JavaScript, void is an operator that returns no value (it always returns undefined).
Normally, JavaScript functions or expressions return some value, but the void operator forces the result to be undefined. This allows developers to discard the evaluation result and trigger only side effects.
Here is a basic example of void:
console.log(void(0)); // Outputs undefinedThis confirms that void(0) always returns undefined.
2-2. What Does void(0) Represent?
void(0) effectively means “do nothing.” By forcing the evaluation result to undefined, it prevents link navigation while allowing custom logic—such as click events—to run.
Example:
<a href="javascript:void(0);" onclick="alert('Clicked!');">Click</a>Clicking this link does not navigate to another page. Instead, an alert message is displayed.
2-3. Why Is “javascript:void(0)” Used?
The main reasons javascript:void(0) is used are as follows:
- Disables default link behavior
Prevents page reloads or navigation while allowing custom click handling. - Acts as a placeholder (dead link)
Useful for links under development or unfinished pages. - Simple and easy to implement
The concise syntax makes it approachable even for beginners.

3. Practical Usage Examples and Implementation
This section explains concrete usage examples and implementation patterns for javascript:void(0). We cover everything from basic usage to applied scenarios, with clear code snippets.
3-1. Basic Code Example
<a href="javascript:void(0);">Link</a>Clicking this link does not trigger page navigation.
3-2. Customizing Click Events
Example 1: Displaying an alert
<a href="javascript:void(0);" onclick="alert('Clicked!');">Click</a>3-3. Scenario-Based Code Examples
Triggering a modal window
HTML:
<a href="javascript:void(0);" id="openModal">Open Modal</a>
<div id="modal" style="display:none; background:rgba(0,0,0,0.5); padding:20px;">
<p>This is a modal window.</p>
<button id="closeModal">Close</button>
</div>JavaScript:
document.getElementById('openModal').addEventListener('click', function() {
document.getElementById('modal').style.display = 'block';
});
document.getElementById('closeModal').addEventListener('click', function() {
document.getElementById('modal').style.display = 'none';
});In this example, clicking the link displays the modal window.
4. Advantages and Caveats – Should You Really Use It?
javascript:void(0) is widely used in web development as a convenient technique, but there are important considerations to keep in mind. This section explains both its advantages and its drawbacks.
4-1. Advantages
- Prevents default link behavior
Allows full control over click events without triggering page navigation. - Simple and intuitive implementation
Easy to understand and use, even for beginners. - Convenient for placeholder links
Useful for temporarily setting links to unfinished pages.
4-2. Caveats and Disadvantages
- Negative impact on SEO
Search engines cannot properly crawl links usingjavascript:void(0), which may reduce SEO effectiveness. - Accessibility concerns
Screen readers and keyboard navigation may not function correctly.
4-3. When to Use and When to Avoid
Recommended use cases:
- When implementing button-like behavior using a link.
- When temporarily setting up placeholder or dead links.
Cases to avoid:
- Links where SEO and accessibility are critical.
- Large-scale projects that require maintainability and scalability.

5. Alternatives and Modern Best Practices
While javascript:void(0) is a convenient technique, it requires careful consideration regarding SEO and accessibility. This section introduces safer and more recommended alternatives.
5-1. Using event.preventDefault()
Basic Concept
event.preventDefault() is a method that cancels the default behavior of an element, such as link navigation or form submission.
Example
HTML:
<a href="#" id="customLink">Link</a>JavaScript:
document.getElementById('customLink').addEventListener('click', function(event) {
event.preventDefault(); // Disable default behavior
alert('A custom event was executed!');
});5-2. Using the <button> Tag
Basic Concept
In HTML5, the <button> tag is recommended for elements that function as buttons.
Example
HTML:
<button id="actionButton">Click</button>JavaScript:
document.getElementById('actionButton').addEventListener('click', function() {
alert('The button was clicked!');
});5-3. Accessibility- and SEO-Friendly Implementation
HTML:
<a href="#" id="accessibleLink" tabindex="0">Click</a>JavaScript:
document.getElementById('accessibleLink').addEventListener('keydown', function(event) {
if (event.key === 'Enter') {
alert('Executed using the Enter key!');
}
});6. Code Examples by Use Case
6-1. Creating a Navigation Menu
HTML:
<a href="javascript:void(0);" id="menuToggle">Menu</a>
<ul id="menu" style="display: none;">
<li><a href="#">Home</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact</a></li>
</ul>JavaScript:
document.getElementById('menuToggle').addEventListener('click', function() {
const menu = document.getElementById('menu');
menu.style.display = (menu.style.display === 'none') ? 'block' : 'none';
});6-2. Modal Window Trigger
HTML:
<a href="javascript:void(0);" id="openModal">Open Modal</a>
<div id="modal" style="display:none; background:rgba(0,0,0,0.5); padding:20px;">
<p>This is a modal window.</p>
<button id="closeModal">Close</button>
</div>JavaScript:
const modal = document.getElementById('modal');
document.getElementById('openModal').addEventListener('click', function() {
modal.style.display = 'block';
});
document.getElementById('closeModal').addEventListener('click', function() {
modal.style.display = 'none';
});7. Summary – How to Use “javascript:void(0)” and Future Choices
7-1. Key Takeaways
- Core concept of
javascript:void(0)
A technique that disables the default behavior of links while allowing custom logic to execute. - Cautions and alternatives
To ensure SEO and accessibility, approaches such asevent.preventDefault()and the<button>tag are recommended. - Practical examples and applied scenarios
Concrete use cases such as navigation menus and modal windows were introduced.
7-2. Recommendations for Modern Web Development
Although javascript:void(0) is still used in some situations, modern web development places greater emphasis on accessibility and SEO.
Recommended approaches:
- Use
javascript:void(0)for small projects or quick behavior testing. - For production environments and large-scale projects, use
event.preventDefault()or the<button>tag to ensure extensibility and safety.
7-3. Final Thoughts
Based on the knowledge presented in this article, practice coding with a balanced focus on both SEO and user experience.



