Jquery浏览器兼容性问题,我做错了什么?
还有一个问题。我正在使用JQuery-1向我的一个页面添加一个简单的交互性。简而言之,页面右上角的Jquery浏览器兼容性问题,我做错了什么?,jquery,cross-browser,Jquery,Cross Browser,还有一个问题。我正在使用JQuery-1向我的一个页面添加一个简单的交互性。简而言之,页面右上角的document.ready上包含一个搜索文本框。我只需调用一个inputHint()函数,将短语“搜索产品”添加到我的文本框中。当用户单击此文本框时,我调用另一个函数(本例中为hideHint())来隐藏默认的“搜索产品”短语。最后,如果用户没有键入文本就离开了页面,并单击了页面上的其他任何地方,我会重新显示提示。下面是一段javascript用户代码: $.fn.inputHint = func
document.ready上包含一个搜索文本框。我只需调用一个inputHint()函数,将短语“搜索产品”添加到我的文本框中。当用户单击此文本框时,我调用另一个函数(本例中为hideHint())来隐藏默认的“搜索产品”短语。最后,如果用户没有键入文本就离开了页面,并单击了页面上的其他任何地方,我会重新显示提示。下面是一段javascript用户代码:
$.fn.inputHint = function(options) {
options = $.extend({hintClass: 'hint'}, options || {});
function showHint() {
if ($(this).val() == '') {
$(this).addClass(options.hintClass).val($(this).attr('accesskey'));
}
else{}
}
function removeHint() {
if ($(this).hasClass(options.hintClass)) $(this).removeClass(options.hintClass).val('');
}
这是document.ready处理程序(或您可以称之为的任何名称):
这段代码获得了所需的功能,可以像charm一样工作,但只能在Google Chrome和Safari上工作。IE和Firefox都有一个非常奇怪的行为(提示很好,但如果我重新加载页面,它会神奇地停止!)。是我的代码导致了这种奇怪的行为,还是JQuery本身有问题(我经常听说JQuery与所有主流浏览器兼容)?想法
PS:这是JQuery-1这可能有点遥不可及,没有必要将对inputHint()的调用包装在$function()中,因为它已经在您的ready函数中了。试试这个:
$(document).ready(function(){
/* Initialize hint*/
$('*[@accesskey]').inputHint();
});
这可能有点遥不可及,不需要将对inputHint()的调用包装在$function()中,因为它已经在ready函数中了。试试这个:
$(document).ready(function(){
/* Initialize hint*/
$('*[@accesskey]').inputHint();
});
我不知道为什么要使用accesskey属性来存储提示,但无论如何
$.fn.inputHint = function(options) {
options = $.extend({ hintClass: 'hint' }, options || {});
$this = $(this);
hintValue = $this.attr("accesskey");
function showHint() {
if ($this.val() == "") {
$this.addClass(options.hintClass).val(hintValue);
}
}
function removeHint() {
if ($this.hasClass(options.hintClass)) {
$this.removeClass(options.hintClass).val("");
}
}
$this.blur(showHint)
.focus(removeHint)
.addClass(options.hintClass)
.val(hintValue);
};
我不知道为什么要使用accesskey属性来存储提示,但无论如何
$.fn.inputHint = function(options) {
options = $.extend({ hintClass: 'hint' }, options || {});
$this = $(this);
hintValue = $this.attr("accesskey");
function showHint() {
if ($this.val() == "") {
$this.addClass(options.hintClass).val(hintValue);
}
}
function removeHint() {
if ($this.hasClass(options.hintClass)) {
$this.removeClass(options.hintClass).val("");
}
}
$this.blur(showHint)
.focus(removeHint)
.addClass(options.hintClass)
.val(hintValue);
};
什么是“JQuery-1”?它与“jQuery 1.3.2”有什么不同吗?(官方jQuery库的最新版本)是的,我想它是jQuery 1.0。实际上,我们团队的一位设计师从一开始就在使用它。我应该用jQuery 1.3.2替换它吗?总之,是的!什么是“JQuery-1”?它与“jQuery 1.3.2”有什么不同吗?(官方jQuery库的最新版本)是的,我想它是jQuery 1.0。实际上,我们团队的一位设计师从一开始就在使用它。我应该用jQuery 1.3.2替换它吗?总之,是的!