没有 Javascript 就无法处理点击事件。可以使用一些丑陋的 hack,这会使您的标记和样式变得可怕且无法阅读,以使您看起来可以在 CSS 中处理点击事件,但这在生产应用程序中并不实用,尤其是在移动设备上,这通常不是一个好主意。
所以我们只能使用 Javascript。如果你想在浏览器中使用高性能的 Javascript,首先要考虑的是避开像 jQuery 这样的库,它会在你所做的一切周围添加大量样板包装代码。
因此,您想以最简单和最高效的方式在 Javascript 中实现它,这将是这样的:
// yep, window.onload. You want compat in mobiles, you have to stupidify your
// code a *lot*
window.onload = function() {
var i, l,
trs = document.getElementsByTagName('TR');
for (i = 0, l = trs.length; i < l; i++) {
attachClickHandler(trs[i]);
}
};
function clickHandler()
{
if (this.isSelected) { // expando properties. sorry, compat again
// change color, check checkbox, whatever
this.isSelected = false;
} else {
// opposite of above
this.isSelected = true;
}
}
function attachClickHandler(tr)
{
tr.onclick = function() {
clickHandler.call(tr);
};
}
可怕,不是吗?
或者
...您可以只使用 jQuery mobile,如果它实际上成为用户抱怨的实际问题,而不是理论问题,则担心性能。
注意:总的来说,我不是 jQuery 的粉丝,但在移动世界中,所有可用功能的赌注都没有,你真的必须是一个虐待狂才能不使用它(或类似的东西)。