0

我正在使用这篇文章来实现一个模态弹出窗口。
我添加了所有内容,当我在 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的路径是否正确,这不是问题。

谢谢

4

1 回答 1

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>

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

除此之外,您是否检查过浏览器中的开发者控制台是否抛出任何错误?

于 2013-07-29T10:26:17.360 回答