模态弹出窗口不会被调用

时间:2013-07-29 09:15:15

标签: javascript popup modal-dialog

我正在使用this article来实现模态弹出窗口 我添加了所有内容,当我在html页面上使用按钮并使用<span class="dialink" onclick="sm('box',200,50)">弹出窗口时 但我想通过JS调用打开弹出窗口,这是我用来调用函数的代码:

var x = document.createElement('script');
x.src = '/popup/modaldbox.js';
document.getElementsByTagName("head")[0].appendChild(x);
// Open popup
sm('box',200,50);

我也尝试过文章建议,但没有运气:

var x = document.createElement('script');
x.src = '/popup/modaldbox.js';
document.getElementsByTagName("head")[0].appendChild(x);
// Open popup
var z = 'something to check';
$('txt').innerHTML = z;

function OKSelected() {
    var y = z;
}

我已经检查了JS的路径是否正确,这不是问题。

由于

1 个答案:

答案 0 :(得分:0)

您应该更好地使用事件侦听器,而不是使用内联脚本。

<span class="dialink" onclick="sm('box',200,50)">

要附加事件监听器,您可以执行以下操作:

<span class="dialink">

<script type="text/javascript">

// Javascript
var dialink = document.querySelector('.dialink');
dialink.addEventListener('click', function () {
    sm('box', 200, 50);
});

// jQuery
var $dialink = $('.dialink');
$dialink.on('click', {param: 'box', param2: 200, param3: 50}, sm);

</script>

如果您希望在没有任何用户交互的情况下打开对话框,那么您的第一个示例应该没问题。

除此之外,您是否在浏览器中检查了开发者控制台是否会引发任何错误?