繁体   English   中英

“样式”代码在MVC模式中的位置在哪里?

[英]Where does “styling” code go in the MVC pattern?

B2:

请不要在下面的片段中设置样式以响应用户操作 - >即模糊,焦点,按键。

它是自包含的...只需给它一个元素ID数组,它设置样式以在某些事件上改变。

我应该在模型,视图或控制器中放置哪个模块?

function styleTwitter1( pair_array )
{
    var i;
    var input;
    var label;
    for ( i = 0; i < pair_array.length; i+=2 ) 
    {
        input = document.getElementById( pair_array[ i ] );
        label = document.getElementById( pair_array[ i + 1 ] );
        label.style.fontSize = window.getComputedStyle( label, null ).getPropertyValue("font-size");
        closureBuster( input, label );
    }
    function closureBuster( input, label )
    {
        input.addEventListener( "keypress", function()
        { 
            label.style.opacity = 0; 
        }, false );
        input.addEventListener( "focus", function()
        { 
            if( input.value === '' )
            {
                label.style.opacity = 0.2; 
                input.style.border = '1px solid #888888'; 
            }
        } , false );
        input.addEventListener( "blur", function()
        {
            if( input.value === '' )
            {
                label.style.opacity = 1;
                new EffectsFont( label ).fade( 'up', 150 );
                input.style.border = '1px solid #dddddd'; 
            }   
        } , false );
    }
}

在MVC中的观点

观察状态并为用户生成输出

因此,用户看到的所有内容(渲染,样式,...)和交互都应该转到视图。

视图显示您向用户输出的所有内容,因此任何与可见性相关的内容都将在视图中处理。 因此,为了获得最佳性能和结果,您应遵循以下步骤

将您的java脚本函数放在一个单独的js文件中,在每个页面的顶部(在块中)编写$(document).ready()函数,在该页面中您要调用所需的函数并将元素数组作为参数传递

通过这种方式,您的代码将整洁干净,可重用和可读

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM