【发布时间】:2018-03-12 23:03:34
【问题描述】:
首先我做了一些研究,发现了这两个相关的问题:
现在我已经尝试了这两种解决方案,它们中的每一个都可以在 Chrome/Firefox 中运行,但对于 safari,它就无法正常工作。
问题:
我有一个带有a 标签的li,它有一个内联的onclick 事件,可以加载更多产品,但由于某种原因,如果我在Safari 上单击a 标签,没有任何反应,这怎么可能?
代码:
<li id="page_size_8">
<a href="javascript:void(0);" onclick="return marketplaceLogin.setPageSize(\'page_size\', '.$maxAmount.', \'All\');">
All
</a>
</li>
只是为了说明这是我尝试过的,但它不起作用:
<li id="page_size_8">
<a href="javascript:void(0);" onfocus="return marketplaceLogin.setPageSize(\'page_size\', '.$maxAmount.', \'All\');">
All
</a>
</li>
<li id="page_size_8">
<a href="javascript:void(0);" onclick="javascript:return marketplaceLogin.setPageSize(\'page_size\', '.$maxAmount.', \'All\');">
All
</a>
</li>
页面大小的 JS:
setPageSize: function (fieldId, fieldValue, fieldLabel) {
"use strict";
if (typeof fieldId !== "undefined" && typeof fieldValue !== "undefined" && typeof fieldLabel !== "undefined") {
if (fieldValue !== null && fieldValue !== "" && fieldId !== null && fieldId !== "" && fieldLabel !== null && fieldLabel !== "") {
if (!isNaN(fieldValue)) {
fieldValue = parseInt(fieldValue, 10);
if (fieldValue < 5) {
fieldValue = 5;
}
var selectId = '#filter_select_marketplace_login_' + fieldId;
// Update the hidden field
$('input[name=page_size').val(fieldValue);
// Update the dropdown
//window.filterSlider.updateSelectedLabel(selectId);
$(selectId + ' .dropdown_selected_label_left').html(fieldLabel);
// Load page 1, this closes the dropdown instantly
if (typeof window.page_name !== "undefined") {
switch (window.page_name) {
case 'marketplaceloginproducts':
marketplaceLogin.loadProductPage(1);
break;
case 'marketplaceloginorders':
marketplaceLogin.loadOrderPage(1);
break;
}
}
}
}
}
return false;
}
【问题讨论】:
-
marketplaceLogin 是一个全局变量吗?
-
是的,它是 js 文件中的一个对象
-
控制台是否出现错误?
-
@Huangism 感谢您的回复,控制台中没有错误,没有加载,没有点击
-
您需要添加更多代码以供人们帮助您。使用您当前的标记,谁能找出问题所在?我做了这个jsfiddle.net/45zpw88y/2,它可以在 Safari 中使用。只需发布简化代码,不需要复制确切的功能,只需测试一下是否调用了该函数
标签: javascript html safari