gpt4 book ai didi

javascript - 如果我们不喜欢它用于表示层,那么我们为什么要容忍它用于行为层?

转载 作者:可可西里 更新时间:2023-11-01 14:58:33 25 4
gpt4 key购买 nike

假设我们所知道的 CSS 从未被发明出来,而我们最接近的是这样做:

<script>
// this is the page's stylesheet
$(document).ready(function(){
$('.error').css({'color':'red'});
$('a[href]').css({'textDecoration':'none'});
...
});
</script>

如果这是我们被迫编写代码的方式,我们会忍受吗?或者,在浏览器 vendor 标准化 CSS 或至少某种声明式语言之前,地球上的每个开发人员都会对他们大喊大叫吗?

也许 CSS 并不完美,但希望它比上面显示的找到东西,做东西方法更好。所以我的问题是这样的。我们已经看到并尝到了声明式绑定(bind)与 CSS 的荣耀,那么为什么在涉及到行为/交互层时,整个 JavaScript 社区似乎对继续使用上述笨拙的过程方法感到沾沾自喜呢?例如,为什么这被许多人认为是最好的做事方式:

<script>
$(document).ready(function(){
$('.widget').append("<a class='button' href='#'>...</div>");
$('a[href]').click(function(){...});
...
});
</script>

为什么没有大力插入以标准方式跨浏览器实现 XBL2.0 或 .htc 文件或某种声明性行为语法?这是否被其他 Web 开发专业人员认为是需要的? HTML5 有什么前景吗?

(警告、免责声明等:我意识到这不是一个完美的世界,我们正在玩我们已经处理过的手。我的意思不是批评当前的做事方式,而是批评对当前的做事方式感到自满。其次,事件委托(delegate),尤其是在根级别,更接近于拥有声明性行为层。它解决了问题的一个子集,但是它无法创建 UI 元素,因此总体问题仍然存在。)

最佳答案

** 例如,为什么许多人认为这是最好的做事方式:$(文档).ready(函数(){ $('.widget').append("..."); $('a[href]').click(函数(){...}); ...});**

因为这不仅仅是行为。执行您提供的示例的正确方法是使用纯 html。您所描述的内容适用于以渐进增强的方式对附加行为进行分层。这本身就很复杂。这是行为的行为。

关于javascript - 如果我们不喜欢它用于表示层,那么我们为什么要容忍它用于行为层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2627471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com