Sweetalert: λΆ€νŠΈμŠ€νŠΈλž© λͺ¨λ‹¬ μœ„μ— μ‚¬μš©λ  λ•Œ μž…λ ₯ ν•„λ“œκ°€ μž‘λ™ν•˜μ§€ μ•ŠμŒ

에 λ§Œλ“  2015λ…„ 07μ›” 29일  Β·  22μ½”λ©˜νŠΈ  Β·  좜처: t4t5/sweetalert

ν˜„μž¬ λΆ€νŠΈμŠ€νŠΈλž© λͺ¨λ‹¬ λ‚΄μ—μ„œ swal을 ν˜ΈμΆœν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ²„νŠΌμ΄ μž‘λ™ν•˜λŠ” 것 κ°™μ§€λ§Œ swal의 μž…λ ₯이 클릭을 ν—ˆμš©ν•˜μ§€ μ•Šκ±°λ‚˜ μ΄ˆμ μ„ λ§žμΆ”μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이것이 μ•Œλ €μ§„ λ¬Έμ œμΈμ§€ μ•„λ‹ˆλ©΄ μ œκ°€ ν•˜κ³  μžˆλŠ” μž‘μ—…μΈμ§€ κΆκΈˆν•©λ‹ˆλ‹€.

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ‚˜λŠ” 범인이 Bootstrap의 λͺ¨λ‹¬μ— μ„€μ •λœ tabindex="-1" μž„μ„ λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.

μˆ˜μ •:

// call this before showing SweetAlert:
function fixBootstrapModal() {
  var modalNode = document.querySelector('.modal[tabindex="-1"]');
  if (!modalNode) return;

  modalNode.removeAttribute('tabindex');
  modalNode.classList.add('js-swal-fixed');
}

// call this before hiding SweetAlert (inside done callback):
function restoreBootstrapModal() {
  var modalNode = document.querySelector('.modal.js-swal-fixed');
  if (!modalNode) return;

  modalNode.setAttribute('tabindex', '-1');
  modalNode.classList.remove('js-swal-fixed');
}

λͺ¨λ“  22 λŒ“κΈ€

λ‚˜λŠ” 같은 λ¬Έμ œκ°€ μžˆμ—ˆλ‹€. λ‚΄κ°€ ν•œ 일은 modal.hide둜 λͺ¨λ‹¬μ„ '숨기기', swal을 μ—΄κ³  inputValue둜 ν•„μš”ν•œ λͺ¨λ“  μž‘μ—…μ„ μˆ˜ν–‰ν•œ λ‹€μŒ swal이 μ„±κ³΅ν•˜κ±°λ‚˜ μ·¨μ†Œλ  λ•Œ modal.show둜 λͺ¨λ‹¬μ„ ν‘œμ‹œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.
도움이 λ˜μ—ˆκΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

단
이에 λŒ€ν•œ 해결책을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. 내일 ν¬μŠ€νŒ…ν• κ²Œμš”

Outlookμ—μ„œ 보낸

2015λ…„ 8μ›” 10일 μ›”μš”μΌ μ˜€μ „ 6μ‹œ 52λΆ„ -0700μ‹œμ— "Dan Kaufman" [email protected]이 μž‘μ„±ν–ˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 같은 λ¬Έμ œκ°€ μžˆμ—ˆλ‹€. λ‚΄κ°€ ν•œ 일은 modal.hide둜 λͺ¨λ‹¬μ„ '숨기기', swal을 μ—΄κ³  inputValue둜 ν•„μš”ν•œ λͺ¨λ“  μž‘μ—…μ„ μˆ˜ν–‰ν•œ λ‹€μŒ swal이 μ„±κ³΅ν•˜κ±°λ‚˜ μ·¨μ†Œλ  λ•Œ modal.show둜 λͺ¨λ‹¬μ„ ν‘œμ‹œν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

도움이 λ˜μ—ˆκΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

β€”
이 이메일에 직접 νšŒμ‹ ν•˜κ±°λ‚˜ GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.

μ•ˆλ…•ν•˜μ„Έμš” mteichtahlλ‹˜,

μ—¬μ „νžˆ μˆ˜μ • 사항을 κ²Œμ‹œ ν–ˆμŠ΅λ‹ˆκΉŒ? λͺ» μ°Ύκ²  μ–΄. 정말 도움이 될 κ²ƒμž…λ‹ˆλ‹€!

μ•ˆλ…•,

sweetalert2뿐만 μ•„λ‹ˆλΌ sweetalertμ—μ„œλ„ 같은 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€.
μž…λ ₯ ν•„λ“œλŠ” νŒŒμ΄μ–΄ν­μŠ€μ—λ§Œ μ΄ˆμ μ„ λ§žμΆ”μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이것은 λΆ€νŠΈμŠ€νŠΈλž© λͺ¨λ‹¬μ—μ„œ swal을 μ—΄ λ•Œλ§Œ λ°œμƒν•©λ‹ˆλ‹€.

아직 문제λ₯Ό νŒŒμ•…ν•  수 μ—†μŠ΅λ‹ˆλ‹€. 정말 μ΄μƒν•˜λ‹€.

같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€ ... λˆ„κ΅¬μ—κ²Œ 해결책이 μžˆμŠ΅λ‹ˆκΉŒ?

μ•ˆλ…•ν•˜μ„Έμš”, 이것은 μž…λ ₯ 자리 ν‘œμ‹œμžλ₯Ό ν‘œμ‹œν•  수 μžˆμ§€λ§Œ μž…λ ₯에 μ΄ˆμ μ„ λ§žμΆ”λ„λ‘ μˆ˜μ •λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€...

#537

같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. μˆ˜μ • 사항을 찾을 수 μ—†μŠ΅λ‹ˆλ‹€...

+1

λ‚˜λŠ” 범인이 Bootstrap의 λͺ¨λ‹¬μ— μ„€μ •λœ tabindex="-1" μž„μ„ λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.

μˆ˜μ •:

// call this before showing SweetAlert:
function fixBootstrapModal() {
  var modalNode = document.querySelector('.modal[tabindex="-1"]');
  if (!modalNode) return;

  modalNode.removeAttribute('tabindex');
  modalNode.classList.add('js-swal-fixed');
}

// call this before hiding SweetAlert (inside done callback):
function restoreBootstrapModal() {
  var modalNode = document.querySelector('.modal.js-swal-fixed');
  if (!modalNode) return;

  modalNode.setAttribute('tabindex', '-1');
  modalNode.classList.remove('js-swal-fixed');
}

λͺ¨λ‹¬μ΄ λ„ˆλ¬΄ λ†’μ•„μ„œ yμΆ•μ—μ„œ μŠ€ν¬λ‘€ν•  수 μžˆλŠ” κ²½μš°μ—λ§Œ λ°œμƒν•œλ‹€λŠ” 점을 μ œμ™Έν•˜λ©΄ 거의 λ™μΌν•œ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€.

λ„μ™€μ£Όμ„Έμš”...

Cinamonas의 νƒ­ μˆ˜μ •μ΄ μ €μ—κ²Œ νš¨κ³Όκ°€ μ—†μ—ˆμŠ΅λ‹ˆλ‹€ :(

+1
@eminumut @navas
swal을 ν‘œμ‹œν•˜κΈ° 전에 fixBootstrapModal()을 ν˜ΈμΆœν–ˆμŠ΅λ‹ˆκΉŒ? μ²˜μŒμ—λŠ” μžŠμ–΄λ²„λ Έμ§€λ§Œ μ§€κΈˆμ€ μ™„λ²½ν•˜κ²Œ μž‘λ™ν•©λ‹ˆλ‹€!

@Cinamonas κ°μ‚¬ν•©λ‹ˆλ‹€

@μ•ŒλΌκ²Œμ‹œμ•„93

λͺ‡ 가지 예λ₯Ό 보여 μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ?

@μ—λ―Έλˆ„νŠΈ

fixBootstrapModal()
swal({whatever}, function(isConfirm){
whatever
restoreBootstrapModal()
}

그것은 λ‚˜λ₯Ό μœ„ν•΄ μž‘λ™ν•©λ‹ˆλ‹€ :)

μˆ˜μ • 사항은 IE11μ—μ„œ ꡬ문 였λ₯˜λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

@caleb87 , ν™”μ‚΄ν‘œ κΈ°λŠ₯κ³Ό const λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šλ„λ‘ μŠ€λ‹ˆνŽ«μ„ μ—…λ°μ΄νŠΈν–ˆμŠ΅λ‹ˆλ‹€.

이것은 Bootstrap의 문제인 것 κ°™μœΌλ―€λ‘œ 일단 λ‹«κ² μŠ΅λ‹ˆλ‹€. @Cinamonas μˆ˜μ • κ°μ‚¬ν•©λ‹ˆλ‹€!

μ•ˆλ…•ν•˜μ„Έμš”, 저도 같은 λ¬Έμ œμ— μ§λ©΄ν–ˆμŠ΅λ‹ˆλ‹€.
이 λ¬Έμ œλŠ” Bootstrap Modalμ—μ„œ { tabindex="-1" }을 μ œκ±°ν•˜μ—¬ ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
그것은 λ‚˜λ₯Ό μœ„ν•΄ 잘 μž‘λ™ν•©λ‹ˆλ‹€.

Rμ—μ„œ 이 μˆ˜μ • 사항을 μ μš©ν•˜λŠ” 방법을 μ•„λŠ” μ‚¬λžŒμ΄ μžˆμŠ΅λ‹ˆκΉŒ? λ‚˜λŠ” 같은 λ¬Έμ œκ°€ μžˆμ§€λ§Œ R둜 λ³€ν™˜ν•˜λ €λŠ” μ‹œλ„λŠ” μ§€κΈˆκΉŒμ§€ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 범인이 Bootstrap의 λͺ¨λ‹¬μ— μ„€μ •λœ tabindex="-1" μž„μ„ λ°œκ²¬ν–ˆμŠ΅λ‹ˆλ‹€.

μˆ˜μ •:

// call this before showing SweetAlert:
function fixBootstrapModal() {
  var modalNode = document.querySelector('.modal[tabindex="-1"]');
  if (!modalNode) return;

  modalNode.removeAttribute('tabindex');
  modalNode.classList.add('js-swal-fixed');
}

// call this before hiding SweetAlert (inside done callback):
function restoreBootstrapModal() {
  var modalNode = document.querySelector('.modal.js-swal-fixed');
  if (!modalNode) return;

  modalNode.setAttribute('tabindex', '-1');
  modalNode.classList.remove('js-swal-fixed');
}

천재

λ‘˜ μ΄μƒμ˜ λͺ¨λ‹¬μ΄ μžˆλŠ” 경우 λ‹€μŒμ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
λ¬Έμ„œ λ¬Έμ„œ (1).pdf

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰