请参阅这里的CodePen.。。 [https://codepen.io/johnstonf/pen/qbbbpav?editors=1011]
JavaScript.。。 当条件变量显示should时,为什么这不进入if语句的else部分。 它第一次工作(点击按钮),但第二次,它应该反转功能,清除剪贴板,但它再次做if节。
<div id="fj33">
<h5>Sensitive Data For Clipboard</h5>
<p>Sensitive Data Line 2</p>
</div>
<div id="fj34">
<h5>Clipboard Cleared</h5>
<p>Sensitive Data Gone</p>
</div>
<button id="fjCopyTxtButton" class="btn btn-primary" onclick="copyText()">Copy Text to Clipboard!!</button>
<script type="text/javascript">
function copyText() {
fjChk=fjCopyTxtButton.innerHTML.includes("COPIED");
console.log("CURRENT-(Before-IF):",fjChk);
if(fjChk != "true")
{
console.log("CURRENT1:",fjChk);
//console.log("...now false");
var range, selection, worked, fj, fj2;
fj=document.querySelector('#fj33');
fj2=fj.innerText
console.log(fj2);
var copyhelper = document.createElement("textarea");
copyhelper.className = 'copyhelper'
document.body.appendChild(copyhelper);
copyhelper.value = fj2;
fj3=copyhelper.value;
copyhelper.select();
document.execCommand("copy");
document.body.removeChild(copyhelper);
document.querySelector('#fjCopyTxtButton').style.backgroundColor='yellow';
document.querySelector('#fjCopyTxtButton').style.color='red';
document.querySelector('#fjCopyTxtButton').innerHTML = '<h3>Text COPIED</h3>';
} else {
console.log("CURRENT2:",fjChk);
console.log("...now true in else section");
fj=document.querySelector('#fj34');
fj2=fj.innerText
console.log(fj2);
var copyhelper = document.createElement("textarea");
copyhelper.className = 'copyhelper'
document.body.appendChild(copyhelper);
copyhelper.value = fj2;
fj3=copyhelper.value;
copyhelper.select();
document.execCommand("copy");
document.body.removeChild(copyhelper);
document.querySelector('#fjCopyTxtButton').style.backgroundColor='green';
document.querySelector('#fjCopyTxtButton').style.color='black';
document.querySelector('#fjCopyTxtButton').innerHTML = '<h3>Text CLEARED</h3>';
}};
</script>
if (fjChk != "true")
您正在检查字符串“true”
,但fjChk不是字符串。 您需要检查布尔值。
if (fjChk !== true)
或
if (!fjChk)