Итак, вы звоните ...
window.onload = function () {
document.getElementById("defaultOpen").click();
};
, что затем вызывает другое событие onclick ...
<li>
<button class="tablinks" onclick="openCity(event, 'Donate')" id="defaultOpen"><a href=""></a><h1>Donate</h1> MAKE A DIFFERENCE NOW</button>
</li>
Я бы порекомендовал установить активный на вкладке по умолчанию, а затемудаление при выборе разных вкладок.Вот быстрый и грязный пример.
var tabLinks = document.getElementsByClassName('tablinks');
function openCity(evt) {
var tabcontent = document.getElementsByClassName("tabcontent");
for (var i = 0; i < tabcontent.length; i++) {
if (tabcontent[i].id === evt.target.name) {
tabcontent[i].style.display = "block";
} else {
tabcontent[i].style.display = "none";
}
}
for (let a of tabLinks) {
a.className = 'tablinks'
}
evt.currentTarget.className += ' active';
}
for (let t of tabLinks) {
t.addEventListener('click', function(event) {
openCity(event);
});
}
button.active {
background-color: lightblue !important;
}
<ul>
<li>
<button class="tablinks active" name="defaultOpen"><a href=""></a><h1>Donate</h1> MAKE A DIFFERENCE NOW</button>
</li>
<li>
<button class="tablinks" name="other"><a href=""></a>Other</button>
</li>
<ul>
<div id="defaultOpen" class="tabcontent" style="display:block;">
defaultOpen content
</div>
<div id="other" class="tabcontent" style="display:none;">
other content
</div>