Обработчик события Onclick, выдающий значение [JS] - PullRequest
0 голосов
/ 12 сентября 2018

какая существует возможность заставить обработчик события onclick выдавать значение (true, false), чтобы его можно было использовать другой функцией для принятия логических решений (если нажата кнопка, сделать это, если нет, сделать это) .. .

Мой код:

function toggleBoolean(){
document.getElementById("click").onclick=function(){
return true;}
}

1 Ответ

0 голосов
/ 12 сентября 2018

Я создал небольшой пример для вас, который (я надеюсь) делает то, что вы ищете.

/**
 * Performs an operation based on the provided parameter.
 */
function toggleBoolean(checked) {
  // Find the div element in the DOM and exit if it can't be found.
  const
    statusIndicator = document.getElementById('theBoolean');
  if (statusIndicator === null) {
    return;
  }
  
  // When the checked parameter is true, add the is-active CSS class
  // to the div element; otherwise remove the class.
  if (checked){
    statusIndicator.classList.add('is-active');
  } else {
    statusIndicator.classList.remove('is-active');
  }
}

/**
 * This method handles the event dispatched when the button to
 * toggle the boolean is clicked.
 */
function onButtonClicked(event) {
  // Call the method, pass the value true along to the method.
  toggleBoolean(true);
}

// Get the element from the DOM.
const
  button = document.getElementById('myButton');
// Make sure the element exists before assigning something
// to it or your code will crash.
if (button !== null) {
  // Add an event listener for the click event.
  button.addEventListener('click', onButtonClicked);
}

// Set the boolean value to false.
toggleBoolean(false);
.status-indicator {
  background-color: red;
  height: 40px;
  margin-top: 10px;
  width: 40px;
}

.status-indicator.is-active {
  background-color: blue;
}
<button id="myButton" type="button">Click me</button>

<div id="theBoolean" class="status-indicator"></div>
...