Usando eval () para definir variáveis globais
Meu código para definir uma variável global usandoeval
não está funcionando. É como se a atribuição não fosse chamada, mas não ocorreram erros de script.
<script type="text/javascript">
$(function() {
setTimeout(function() {
eval('var x = 1;');
alert(x);
}, 0);
});
</script>
<div onclick="alert(x);">Click to see 'x'</div>
Quando a página é carregada, o alerta mostra o que eu esperava; isso confirma que x = 1. Mas depois disso, eu clico no div e recebo um erro de javascript quex
é indefinido. Como eu façoeval
adicionar esta variável corretamente?
Background: O código acima é um exemplo de reprodução mínima de um projeto em que estou trabalhando, onde devemos executar o código javascript durante as respostas AJAX.eval
funciona corretamente na maioria das vezes, mas isso está causando problemas.