【发布时间】:2012-04-12 19:24:24
【问题描述】:
我在我的网站上添加了免费的谷歌翻译器。我使用jquery根据标题文本的宽度为元素添加固定宽度。
如果使用谷歌翻译。页面未重新加载。所以宽度保持原来的宽度。
解决方案:我需要听 google 翻译器,如果使用了,则触发此 jquery 函数。
提前致谢。
【问题讨论】:
我在我的网站上添加了免费的谷歌翻译器。我使用jquery根据标题文本的宽度为元素添加固定宽度。
如果使用谷歌翻译。页面未重新加载。所以宽度保持原来的宽度。
解决方案:我需要听 google 翻译器,如果使用了,则触发此 jquery 函数。
提前致谢。
【问题讨论】:
因为 jQuery 和 JavaScript 密切相关(jQuery 是 JavaScript 的 write less, do more 版本),您可以使用 JavaScript 分配一个event listener 并编写如果在 jQuery 中触发事件会发生什么。我会亲自为翻译器分配一个 id,通过它的 id 获取该元素,并为其分配一个 event listener。 Some more information on event listeners.
如果您只为每个元素分配一个侦听器(并且它们所在的<div> 没有事件侦听器),那么您可以使用这种类型的event listener:
var saveButton = document.getElementById('savebuttonId');
saveButton.addEventListener('click',myCustomFunction,true);
或者,如果您只需要使用该功能一次,比如告诉某人他们的进度已保存,这就是您需要这样的功能的唯一原因,您可以这样做:
var saveButton = document.getElementById('savebuttonId');
saveButton.addEventListener('click' function() {
alert('Progress saved!');
}, true);
如果按钮位于同时具有事件侦听器的<div> 元素中,您可以指定其进入的顺序。只需将}, true); 替换为}, ORDER, true); 如果您不这样做,函数可以按照他们想要的任何顺序进行,这通常因人使用的浏览器而异。
【讨论】: