В настоящее время я сталкиваюсь с проблемой, когда хочу только получить ссылки с class = "okPop" для открытия, тогда ссылки - это локальные html-файлы, называемые popupA.html и popupB.html , Чтобы остановить всплывающее окно по умолчанию, откройте ссылки, используя href. Я сделал href undefined. Теперь есть ссылки, которые ничего не делают. Я хочу, чтобы мой JS-код вызывал всплывающее окно, но ничего не происходит.Javascript не открывает ссылки для конкретных классов без HTML href
HTML код:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Popup Windows</title>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<!-- Script 9.4 - popups.html -->
<!-- Bullet 8: Add class -->
<p><a href="javascript:undefined" class="okPop" id="B" target="PopUp">B Link</a> (Will open in a new window.)</p>
<p><a href="javascript:undefined" class="1" id="A" target="PopUp">A Link</a> (Will open in a new window.)</p>
<script src="js/popups.js"></script>
</body>
</html>
Javascript Код
// Function called when the link is clicked.
function createPopup(e) {
'use strict';
// Get the event object:
if (typeof e == 'undefined') var e = window.event;
// Get the event target:
var popupClass = e.class || e.srcElement;
var link = "popup" + document.getElementByID(id) + ".html";
// Create the window:
var popup = window.open(link, 'PopUp', 'height=100,width=100,top=100,left=100,location=no,resizable=yes,scrollbars=yes');
// Give the window focus if it's open:
if ((popup !== null) && !popup.closed) {
popup.focus();
return false; // Prevent the default behavior.
} else { // Allow the default behavior.
return true;
}
} // End of createPopup() function.
// Establish functionality on window load:
window.onload = function() {
'use strict';
// Add the click handler to each link:
for (var i = 0, count = document.links.length; i < count; i++) {
// IF statement to trigger specific class value : Bullet 9
if (document.links[i].className == "okPop"){
if (document.getElementsByClassName('okPop').value){
popupLinks[i].onclick = createPopup;
}else{
document.links[i].onclick = createPopup;
} // End of for loop.
}; // End of onload function.
Является ли это ТОЧНОЙ копией/вставкой вашего JS-кода? – BrMcMullin
Да, это ТОЧНАЯ копия/вставка. Зачем? – EsotericRider
"" должно быть в
. Он может не работать, если на него ссылаются после кода, который его использует. – jiy