我有以下脚本,它在Firefox上不起作用,似乎适用于Google Chrome。
<script>
$(document).ready(function(){
$('#btn_2').on('click', function () {addselectable(event, 7)});
$(function() {
$( "#selectable" ).selectable();
});
});
</script>
function addselectable (event, size) {
event.preventDefault();
event.stopPropagation();
alert('hello');
var s = size;
var p = $('<ol>').attr('id', 'selectable');
var count = 0
for (var i = s; i >= 0; i--)
{
count = count + 1;
var li = $('<li>').attr('class', 'ui-state-default').text(count);
$(li).appendTo(p)
p.append(li);
}
$(p).appendTo('body');
alert('I am done');
//};
}
如何在点击事件中将多个参数传递给我的函数'addselectable',是否有另一种方法可以在所有浏览器上运行?
答案 0 :(得分:3)
您没有为实际的事件处理程序指定event
参数:
$('#btn_2').on('click', function (event) {addselectable(event, 7)});
您在Chrome中的工作原理是因为它模仿IE并公开全局event
对象。 Firefox没有。
答案 1 :(得分:3)
事件应该作为函数(事件)的参数
更改
$('#btn_2').on('click', function () {addselectable(event, 7)});
到
$('#btn_2').on('click', function (event) {addselectable(event, 7)});
虽然没有经过我的测试,但请尝试一下。