.click 事件在 Safari 中不起作用
Posted
技术标签:
【中文标题】.click 事件在 Safari 中不起作用【英文标题】:.click event is not working in safari 【发布时间】:2018-12-05 15:36:21 【问题描述】:我在 javascript 中有一个 .click
事件,它似乎在除 safari 之外的所有主要浏览器中都能正常工作。代码正在创建一个对话框,在单击提交按钮时显示图像。
$(document).ready(new function ()
var SpinnerImage = ('<div id="dialog-message"><img src="loading.gif" /></div > ');
$("#ctl00_mainContent_AppPaymentControl1_applicationPaymentControl_payNow").click(function ()
//show loading gif
$('body').append(SpinnerImage);
$("#dialog-message").dialog(
title: 'Loading... Please Wait'
);
);
);
任何帮助将不胜感激。
【问题讨论】:
不确定它是否会有所不同,但请在第一行从您的函数中删除new
。没必要
new function ()
这可能有助于***.com/questions/23497825/…
@epascarello 这不是时间问题,因为它适用于所有其他浏览器。
@SyedVasty 为什么要在页面加载时触发按钮点击?
【参考方案1】:
看看这是否有效?
1 $(document).ready(function ()
2 var SpinnerImage = $("<div id='dialog-message'><img src='loading.gif' /></div>");
3 $("#ctl00_mainContent_AppPaymentControl1_applicationPaymentControl_payNow").click(function ()
4 //show loading gif
5 $('body').append(SpinnerImage);
6 $("#dialog-message").dialog(
7
8 title: 'Loading... Please Wait'
9
10 );
11 );
12 );
更正:
删除第一行的new
在第2行添加$
修复第 2 行错误的单引号和双引号
您在评论中提到#ctl00_mainContent_AppPaymentControl1_applicationPaymentControl_payNow
是一个<input>
元素。尝试使用$(element).focus(callback);
方法而不是$(element).click(callback);
【讨论】:
没有。它不起作用。我在某处读到 Safari 不支持 .click?有人知道这是不是真的吗? @SyedVasty 桌面版还是移动版 Safari?什么版本? @SyedVasty#ctl00_mainContent_AppPaymentControl1_applicationPaymentControl_payNow
的元素标签是什么?
@SyedVasty 不,这就是属性。我要元素。你知道吗,比如div
、span
、input
等等?
@SyedVasty 而不是.click(
,试试.focus(
以上是关于.click 事件在 Safari 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
HTML5 视频加载数据事件在 IOS Safari 中不起作用
click事件在innerhtml字符串angular 6中不起作用
Angular `ng-click` 在 DataTables 表行中不起作用